常用宏


  • 最近忙著寫項(xiàng)目,就整理了一下 項(xiàng)目中經(jīng)常用到的宏
  • 字體根據(jù)機(jī)型自適應(yīng).檢查系統(tǒng)版本
  • 機(jī)型適配,比例,強(qiáng)弱引用,日志,圖片等
  • 如果你還有一些好用的宏,可以互相交流一下
/*
 *調(diào)試日志開關(guān)
 */
#define __APPSTORE___           0

#if __APPSTORE___
#define NSLog(format, ...)
#else
#define NSLog(format, ...) NSLog(format, ## __VA_ARGS__)

#endif
/**
 *  導(dǎo)航控制器高度
 */
#define NavcHeight 64.0
/**
 *  tarbar的高度
 */
#define TarBarHeight  49.0
/**
 *  字體適配宏
 */
//不同屏幕尺寸字體適配

#define CHINESE_FONT_NAME  @"Heiti SC"
#define CHINESE_SYSTEM(x) [UIFont fontWithName:CHINESE_FONT_NAME size:x]
#define kScreenWidthRatio  (iphoneWidth / 414.0)
#define kScreenHeightRatio (iphoneHeigh / 736.0)
#define AdaptedWidth(x)  ceilf((x) * kScreenWidthRatio)
#define AdaptedHeight(x) ceilf((x) * kScreenHeightRatio)
#define AdaptedFontSize(R)     CHINESE_SYSTEM(AdaptedWidth(R))
/**
 *  弱引用
 */
#define _WeakSelf     __weak typeof(self) weakSelf = self
#define WeakObj(o) autoreleasepool{} __weak typeof(o) o##Weak = o;

//NSUserDefaults 實(shí)例化
#define USER_DEFAULT [NSUserDefaults standardUserDefaults]

//G-C-D
#define BACK(block) dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), block)
#define MAIN(block) dispatch_async(dispatch_get_main_queue(),block)
//獲取圖片資源
#define GetImage(imageName) [UIImage imageNamed:[NSString stringWithFormat:@"%@",imageName]]
#define GetUlr(url)  [NSURL URLWithString:url]
#define SetImaged(url)    sd_setImageWithURL:GetUlr(url)
//讀取本地圖片 性能比[UIImage imageNamed: 性能強(qiáng)很多]
//例如 imageView.image =  LOADIMAGE(@"文件名",@"png");
#define LOADIMAGE(file,ext) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle]pathForResource:file ofType:ext]]
//定義UIImage對(duì)象
#define IMAGE(A) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:A ofType:nil]]

//由角度獲取弧度 有弧度獲取角度
#define degreesToRadian(x) (M_PI * (x) / 180.0)
#define radianToDegrees(radian) (radian*180.0)/(M_PI)
//設(shè)置手機(jī)屏幕,判斷機(jī)型
#define iphoneWidth   [UIScreen mainScreen].bounds.size.width
#define iphoneHeigh   [UIScreen mainScreen].bounds.size.height
#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
#define IS_RETINA ([[UIScreen mainScreen] scale] >= 2.0)

#define SCREEN_MAX_LENGTH (MAX(iphoneWidth, iphoneHeigh))
#define SCREEN_MIN_LENGTH (MIN(iphoneWidth, iphoneHeigh))

#define IS_IPHONE_4_OR_LESS (IS_IPHONE && SCREEN_MAX_LENGTH < 568.0)
#define IS_IPHONE_5 (IS_IPHONE && SCREEN_MAX_LENGTH == 568.0)
#define IS_IPHONE_6 (IS_IPHONE && SCREEN_MAX_LENGTH == 667.0)
#define IS_IPHONE_6P (IS_IPHONE && SCREEN_MAX_LENGTH == 736.0)

// 檢查系統(tǒng)版本
#define SYSTEM_VERSION_EQUAL_TO(v)                  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)

#define SYSTEM_VERSION_GREATER_THAN(v)              ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)

#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)

#define SYSTEM_VERSION_LESS_THAN(v)                 ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)

#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v)     ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)

// 縮放比
#define kScale iphoneWidth / 375

#define hScale iphoneHeigh / 667
//使用ARC和不使用ARC
#if __has_feature(objc_arc)
//compiling with ARC
#else
// compiling without ARC
#endif
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末匀哄,一起剝皮案震驚了整個(gè)濱河市体箕,隨后出現(xiàn)的幾起案子罩缴,更是在濱河造成了極大的恐慌幕侠,老刑警劉巖银舱,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異汰寓,居然都是意外死亡裕照,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門在刺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)逆害,“玉大人,你說(shuō)我怎么就攤上這事增炭∪淘铮” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵隙姿,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我厂捞,道長(zhǎng)输玷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任靡馁,我火速辦了婚禮欲鹏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘臭墨。我一直安慰自己赔嚎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著尤误,像睡著了一般侠畔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上损晤,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天软棺,我揣著相機(jī)與錄音,去河邊找鬼尤勋。 笑死喘落,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的最冰。 我是一名探鬼主播瘦棋,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼暖哨!你這毒婦竟也來(lái)了兽狭?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤鹿蜀,失蹤者是張志新(化名)和其女友劉穎箕慧,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體茴恰,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡颠焦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了往枣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片伐庭。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖分冈,靈堂內(nèi)的尸體忽然破棺而出圾另,到底是詐尸還是另有隱情,我是刑警寧澤雕沉,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布集乔,位于F島的核電站,受9級(jí)特大地震影響坡椒,放射性物質(zhì)發(fā)生泄漏扰路。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一倔叼、第九天 我趴在偏房一處隱蔽的房頂上張望汗唱。 院中可真熱鬧,春花似錦丈攒、人聲如沸哩罪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)际插。三九已至碘耳,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間腹鹉,已是汗流浹背藏畅。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留功咒,地道東北人愉阎。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像力奋,于是被迫代替她去往敵國(guó)和親榜旦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,506評(píng)論 25 707
  • 在工作中, 很多小伙伴都會(huì)在PCH文件定義一些常用的宏景殷,但是又怕寫這些簡(jiǎn)單的宏浪費(fèi)時(shí)間溅呢,又有時(shí)候忘記怎么定義了怎么...
    迪亞波羅閱讀 440評(píng)論 0 0
  • 前言: 在工作中, 很多小伙伴都會(huì)在PCH文件定義一些常用的宏,但是又怕寫這些簡(jiǎn)單的宏浪費(fèi)時(shí)間猿挚,又有時(shí)候忘記怎么定...
    sherry155閱讀 454評(píng)論 0 0
  • Aug 17th 2017 Sun ...
    三木_5cc1閱讀 237評(píng)論 0 0
  • 豆瓣被我刷崩潰了绩蜻,只好歇歇來(lái)寫稿铣墨。 今天回來(lái)的路上腦袋里一直盤旋一句話:守住底線。 別多想办绝,我在找房子伊约。 不過(guò)今天...
    我是穿山甲啊閱讀 327評(píng)論 0 2