iOS如何判斷是iOS11系統(tǒng)的宏定義

最近感覺好多人還在問如何判斷iOS11系統(tǒng)的問題,以為過了這么多大家都適配好了,其實不然。
為什么要搞一個宏定義呢,因為有些小伙伴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#>)

即可。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 因為要結(jié)局swift3.0中引用snapKit的問題,看到一篇介紹Xcode8,swift3變化的文章,覺得很詳細...
    uniapp閱讀 4,872評論 0 12
  • 長話短說:iOS11和iPhone X發(fā)布,雖然iPhone X很丑,很失望,但是iOS 11很致命,讓我們的AP...
    白水灬煮一切閱讀 693評論 0 2
  • 今年春節(jié),過得還算好。除了人不太好,其它都很平靜。 年初二的時候,陪一個沒能回家的小鮮肉看電影吃飯...估計也是沒...
    Alexis閱讀 378評論 1 0
  • 昨天和一幫朋友在一起溝通聊天,說到當(dāng)今業(yè)務(wù)十分難做,生意也特別難做,就聊到了業(yè)務(wù)開展到這個問題。 有一位在場的朋友...
    善謀傳媒閱讀 811評論 8 0
  • 剛剛累了,隨手找糖吃。這顆糖長得好像椰子糖,給人椰子的味道。想知道什么是咖啡味,一入口,也是讓人驚訝。這是童年的味...
    00龍閱讀 624評論 0 0

友情鏈接更多精彩內(nèi)容