美文网首页
ios 11更新后 项目中需要修改的点 整理

ios 11更新后 项目中需要修改的点 整理

作者: MoneyLee | 来源:发表于2017-11-01 11:16 被阅读29次

    问题: 设置tableview section header高度无效 代理方法没有执行
    原因:iOS11默认开启Self-Sizing
    解决办法:关闭Self-Sizing即可
    示例:
    self.tableView.estimatedRowHeight = 0; self.tableView.estimatedSectionHeaderHeight = 0; self.tableView.estimatedSectionFooterHeight = 0;
    ================================================
    控制台打印线程问题:
    Main Thread Checker: UI API called on a background thread: -[UIApplication statusBarOrientation] PID: 3813, TID: 87132, Thread name: (none), Queue name: BaseOperatorService, QoS: 0
    原因: 需要在主线程执行的代码 被放在了子线程里边
    解决办法: 在scheme 里边取消主线程检测 (如下图 不建议使用) 或者修改代码 把出问题的代码放在主线程里边即可 我这里目前发现了shareSDK 内部有状态栏设置在子线程 出现打印问题

    Snip20171101_1.png

    ================================================
    问题:导航栏状态栏留白20xp

    Snip20171101_2.png
    原因:iphone X 导航栏为 44+44 原来为20+44
    解决办法:
    self.navigationController.navigationBar.clipsToBounds = NO;
    拓展:
    iPhone X尺寸问题
    分辨率1125*2436 (375*812)
    导航栏为 44+44 原来为20+44
    底部tabbar 49+34 其余屏幕 49+0
    ================================================
    问题:ios 11后 UITableview设置头部搜索框 刷新后自动上移20像素的处理
    Simulator Screen Shot - iPhone 6s - 2017-09-25 at 10.28.15.png Simulator Screen Shot - iPhone 6s - 2017-09-25 at 10.24.43.png

    原因: 苹果在 iOS 7 中为 ViewController 提供了一个 edgesForExtendedLayout 新属性。如果你将这个属性设置为UIRectEdgeNone,则 viewController 的所有子视图都会自动调整。
    目前暂时也适用于不同系统版本代码更迭出现状况时使用。
    解决办法:
    self.edgesForExtendedLayout = UIRectEdgeNone;

    相关文章

      网友评论

          本文标题:ios 11更新后 项目中需要修改的点 整理

          本文链接:https://www.haomeiwen.com/subject/ecywpxtx.html