zoukankan      html  css  js  c++  java
  • iOS开发常用的宏定义

    #define NavigationBar_HEIGHT  44   //导航栏高度

    #define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)  //动态获取物理设备的宽度

    #define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)  //动态获取物理设备的高度

    #define SAFE_RELEASE(x) [x release];x=nil  //安全释放

    #define IOS_VERSION [[[UIDevice currentDevice] systemVersion] floatValue]  //获取当前设备系统版本

    #define CurrentLanguage ([[NSLocale preferredLanguages] objectAtIndex:0])   //获取当前设备语言

    #define BACKGROUND_COLOR [UIColor colorWithRed:242.0/255.0 green:236.0/255.0 blue:231.0/255.0 alpha:1.0]  //背景色

    #define SAFE_DELETE(P) if(P) { [P release], P = nil; }  //安全删除对象

    #define COLOR(R, G, B, A)  [UIColor colorWithRed:R/255.0 green:G/255.0 blue:B/255.0 alpha:A] //带rgba的颜色值

    #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颜色转换(16进制转10进制)

    #define CLEARCOLOR [UIColor clearColor]  //清除背景色

    //警告框内容提示

    #define degreesToRadian(x) (M_PI * (x) / 180.0)   //角度转弧度

    #define radianToDegrees(radian) (radian*180.0)/(M_PI)  //弧度转角度

    //一般的提示信息
    #define mAlertView(title, msg)
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:msg delegate:nil
    cancelButtonTitle:@"OK"
    otherButtonTitles:nil];
    [alert show];

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

    // GCD
    #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 mNavBarHeight 44
    #define mTabBarHeight 50

    //----------設備系統相關---------
    #define mRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO)
    #define mIsiP5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136),[[UIScreen mainScreen] currentMode].size) : NO)
    #define mIsiP6 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(750, 1334),[[UIScreen mainScreen] currentMode].size) : NO)
    #define mIsiP6Plus ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242, 2208),[[UIScreen mainScreen] currentMode].size) : NO)

    #define mIsPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
    #define mIsiphone (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
    #define mIsIOS7OrLater ([mSystemVersion floatValue] >= 7.0 ? YES : NO)
    #define mIsIOS8OrLater ([mSystemVersion floatValue] >= 8.0 ? YES : NO)

    #define mSystemVersion ([[UIDevice currentDevice] systemVersion])
    #define mDeviceOpenUDID ([OpenUDID value])
    #define mDeviceModel ([[UIDevice currentDevice] model])
    #define mDeviceName ([[UIDevice currentDevice] name])
    #define mCurrentLanguage ([[NSLocale preferredLanguages] objectAtIndex:0])
    #define mAPPVersion [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]
    #define mFirstLaunch mAPPVersion //以系統版本來判斷是否第一次啓動,包括升級後啓動
    #define mFirstRun @"firstRun" //判斷是否第一次運行,升級後啓動不算

  • 相关阅读:
    iOS网络开发之AFNetworking
    自定义博客园样式
    win 7 和 winserver 2008 下,布署网站遇到的错误解决方法
    iOS开发--沙盒
    毫秒必争,前端网页性能最佳实践
    C#可扩展数组转变为String[]数组
    iOS 界面启动时,功能新特征显示
    批量导入数据到mssql数据库的
    MongoDB 工具助手类(.NET)
    Xcode 快捷键及代码格式化
  • 原文地址:https://www.cnblogs.com/billy-chou/p/3937070.html
Copyright © 2011-2022 走看看