Xcode 6.x 上開發APP 兼容 iOS7

Xcode 6.x 上開發的APP 可能會出現 :app

"Unable to create description in descriptionForLayoutAttribute_layoutItem_coefficient. Something is nil"ui

//由於偷懶使用了reset to suggested constraints, autolayout 幫我自動加了baseline的constraints,而baseline只有iOS8之後纔有,兼容iOS7就崩潰了,直接移除baseline相關的constraint便可。spa


一、baselinecode

二、[[UINavigationBar appearance] setTranslucent:NO]開發

  • 崩潰信息get

    *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** Illegal property type, c for appearance setter, _installAppearanceSwizzlesForSetter:'
  • 緣由
    iOS8.0以後[UINavigationBar appearance]才能夠setTranslucent,兼容iOS7須要添加判斷
    it

    if(IOS8_OR_LATER && [UINavigationBar conformsToProtocol:@protocol(UIAppearanceContainer)]) {
         [[UINavigationBar appearance] setTranslucent:NO];
     }
  • 參考連接
    http://stackoverflow.com/questions/19125468/why-does-uinavigationbar-appearance-settranslucentno-crash-my-app

三、storyboard segue show

  • 異常現象

    sb裏segue使用show

    sb裏segue使用show


    在iOS8下是正常push的

  • 在iOS8下是正常push的

iOS7下變成從底部推出的,並且沒有navigation

iOS7下變成從底部推出的,並且沒有navigation

四、constrain to margin

  • 異常現象


    使用tableview頂部會出現不正常的空白

  • 使用tableview頂部會出現不正常的空白

  • 緣由這是設置了constrain to margins的關係,這玩意也是iOS8後纔有的,把這個鉤去掉,就OK了

相關文章
相關標籤/搜索