iOS常用宏定義

尺寸相關(guān)

//狀態(tài)欄高度
#define STATUS_BAR_HEIGHT 20
//NavBar高度
#define NAVIGATION_BAR_HEIGHT 44
//狀態(tài)欄 + 導(dǎo)航欄 高度
#define STATUS_AND_NAVIGATION_HEIGHT  ((STATUS_BAR_HEIGHT) + (NAVIGATION_BAR_HEIGHT))

//屏幕 rect
#define SCREEN_RECT ([UIScreen mainScreen].bounds)
//屏幕寬度
#define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)
//屏幕高度
#define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)
#define CONTENT_HEIGHT (SCREEN_HEIGHT - NAVIGATION_BAR_HEIGHT - STATUS_BAR_HEIGHT)
//屏幕分辨率
#define SCREEN_RESOLUTION (SCREEN_WIDTH * SCREEN_HEIGHT * ([UIScreen mainScreen].scale))

//廣告欄高度
#define BANNER_HEIGHT 215
#define STYLEPAGE_HEIGHT 21
#define SMALLTV_HEIGHT 77
#define SMALLTV_WIDTH 110
#define FOLLOW_HEIGHT 220
#define SUBCHANNEL_HEIGHT 62

系統(tǒng)相關(guān)

//獲取系統(tǒng)版本         
#define IOS_VERSION [[[UIDevice currentDevice] systemVersion] floatValue] 
#define CurrentSystemVersion [[UIDevice currentDevice] systemVersion] 

//獲取系統(tǒng)時間戳
#define getCurentTime [NSString stringWithFormat:@"%ld", (long)[[NSDate date] timeIntervalSince1970]]

//判斷是真機還是模擬器
#if TARGET_OS_IPHONE
//真機
#endif
#if TARGET_IPHONE_SIMULATOR
//模擬器
#endif

//獲取當(dāng)前語言  
#define CurrentLanguage ([[NSLocale preferredLanguages] objectAtIndex:0]) 

顏色圖片相關(guān)

//rgb顏色轉(zhuǎn)換(16進制->10進制)  
#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]  

//獲取RGB顏色  
#define RGBA(r,g,b,a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a]  
#define RGB(r,g,b) RGBA(r,g,b,1.0f)

//讀取本地圖片  
#define LOADIMAGE(file,ext) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle]pathForResource:file ofType:ext]]  

//定義UIImage對象  
#define IMAGE(A) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:A ofType:nil]]  

字符串相關(guān)

//字符串:
#ifndef nilToEmpty
#define nilToEmpty(object) (object!=nil)?object:@""
#endif

#ifndef formatStringOfObject
#define formatStringOfObject(object) [NSString stringWithFormat:@"%@", object]
#endif

#ifndef nilToEmptyFormatStringOfObject
#define nilToEmptyFormatStringOfObject(object) formatStringOfObject(nilToEmpty(object))
#endif

沙盒路徑相關(guān)

//文件目錄
#define kPathTemp           NSTemporaryDirectory()
#define kPathDocument       [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]
#define kPathCache          [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0]
#define kPathSearch         [kPathDocument  stringByAppendingPathComponent:@"Search.plist"]
#define kPathMagazine       [kPathDocument stringByAppendingPathComponent:@"Magazine"]
#define kPathDownloadedMgzs [kPathMagazine stringByAppendingPathComponent:@"DownloadedMgz.plist"]
#define kPathDownloadURLs   [kPathMagazine stringByAppendingPathComponent:@"DownloadURLs.plist"]
#define kPathOperation      [kPathMagazine stringByAppendingPathComponent:@"Operation.plist"]
#define kPathSplashScreen   [kPathCache stringByAppendingPathComponent:@"splashScreen"]
#endif

其他

//DEBUG模式下打印日志,當(dāng)前行  
#ifdef  DEBUG  
#define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);  
#else  
#define DLog(...)  
#endif 

//主要單例
#define UserDefaults [NSUserDefaults standardUserDefaults]
#define NotificationCenter [NSNotificationCenter defaultCenter]
#define SharedApplication [UIApplication sharedApplication]
#define Bundle [NSBundle mainBundle]#define MainScreen [UIScreen mainScreen]

//角度轉(zhuǎn)弧度
#define DEGREES_TO_RADIANS(d) (d * M_PI / 180)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末嵌灰,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蕊苗,老刑警劉巖或颊,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件兽赁,死亡現(xiàn)場離奇詭異屎蜓,居然都是意外死亡霉涨,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門尘惧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來康栈,“玉大人,你說我怎么就攤上這事喷橙∩睹矗” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵贰逾,是天一觀的道長悬荣。 經(jīng)常有香客問我,道長疙剑,這世上最難降的妖魔是什么氯迂? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮言缤,結(jié)果婚禮上嚼蚀,老公的妹妹穿的比我還像新娘。我一直安慰自己轧简,他們只是感情好驰坊,可當(dāng)我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布匾二。 她就那樣靜靜地躺著哮独,像睡著了一般。 火紅的嫁衣襯著肌膚如雪察藐。 梳的紋絲不亂的頭發(fā)上皮璧,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天,我揣著相機與錄音分飞,去河邊找鬼悴务。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的讯檐。 我是一名探鬼主播羡疗,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼别洪!你這毒婦竟也來了叨恨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤挖垛,失蹤者是張志新(化名)和其女友劉穎痒钝,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體痢毒,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡送矩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了哪替。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片栋荸。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖夷家,靈堂內(nèi)的尸體忽然破棺而出蒸其,到底是詐尸還是另有隱情,我是刑警寧澤库快,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布摸袁,位于F島的核電站,受9級特大地震影響义屏,放射性物質(zhì)發(fā)生泄漏靠汁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一闽铐、第九天 我趴在偏房一處隱蔽的房頂上張望蝶怔。 院中可真熱鬧,春花似錦兄墅、人聲如沸踢星。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽沐悦。三九已至,卻和暖如春五督,著一層夾襖步出監(jiān)牢的瞬間藏否,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工充包, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留副签,地道東北人。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像淆储,于是被迫代替她去往敵國和親冠场。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,786評論 2 345

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

  • iOS開發(fā)過程中本砰,使用的一些常用宏定義 字符串是否為空#define kStringIsEmpty(str) ([...
    goyohol閱讀 5,341評論 30 85
  • [轉(zhuǎn)自:iOS常用宏定義][http://www.cocoachina.com/ios/20161207/1831...
    MMOTE閱讀 709評論 3 3
  • 字符串是否為空 數(shù)組是否為空 字典是否為空 是否是空對象 獲取屏幕寬度與高度 ( " \ ":連接行標(biāo)志慈鸠,連接上下...
    為什么劃船不靠槳閱讀 378評論 0 0
  • 字符串是否為空 #define kStringIsEmpty(str) ([str isKindOfClass:[...
    cocoaZ閱讀 315評論 0 0
  • //字符串是否為空 #define kStringIsEmpty(str) ([str isKindOfClass...
    __life__閱讀 430評論 0 0