iOS如何判断是iOS11系统的宏定义

最近感觉好多人还在问如何判断iOS11系统的问题,以为过了这么多大家都适配好了,其实不然。
为什么要搞一个宏定义呢,因为有些小伙伴Xcode版本还是停留在Xcode8,这样判断是iOS11的方法就尴尬了,所以搞个宏。

//-----------------------------------  iOS11适配  ------------------------------------
#define  adjustsScrollViewInsets(scrollView)\
do {\
    _Pragma("clang diagnostic push")\
    _Pragma("clang diagnostic ignored \"-Warc-performSelector-leaks\"")\
    if ([scrollView respondsToSelector:NSSelectorFromString(@"setContentInsetAdjustmentBehavior:")]) {\
        NSMethodSignature *signature = [UIScrollView instanceMethodSignatureForSelector:@selector(setContentInsetAdjustmentBehavior:)];\
        NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature];\
        NSInteger argument = 2;\
        invocation.target = scrollView;\
        invocation.selector = @selector(setContentInsetAdjustmentBehavior:);\
        [invocation setArgument:&argument atIndex:2];\
        [invocation retainArguments];\
        [invocation invoke];\
    }\
    _Pragma("clang diagnostic pop")\
} while (0)

在需要使用的地方写上:

adjustsScrollViewInsets(<#scrollView#>)

即可。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 因为要结局swift3.0中引用snapKit的问题,看到一篇介绍Xcode8,swift3变化的文章,觉得很详细...
    uniapp阅读 4,512评论 0 12
  • 长话短说:iOS11和iPhone X发布,虽然iPhone X很丑,很失望,但是iOS 11很致命,让我们的AP...
    白水灬煮一切阅读 654评论 0 2
  • 今年春节,过得还算好。除了人不太好,其它都很平静。 年初二的时候,陪一个没能回家的小鲜肉看电影吃饭...估计也是没...
    Alexis阅读 338评论 1 0
  • 昨天和一帮朋友在一起沟通聊天,说到当今业务十分难做,生意也特别难做,就聊到了业务开展到这个问题。 有一位在场的朋友...
    善谋传媒阅读 772评论 8 0
  • 刚刚累了,随手找糖吃。这颗糖长得好像椰子糖,给人椰子的味道。想知道什么是咖啡味,一入口,也是让人惊讶。这是童年的味...
    00龙阅读 579评论 0 0