问题1.自定义UIToolBar,升级到ios 11 之后,点击没有任何反应

原因:iOS11的UIToolbar 增添了有一个UIToolbarContentView的子控件,覆盖在最表层,以至于添加的button都在底部,点击没有反应。

解决方法:

最优方法:

在实例化UIToolBar之后,

添加

[toolbar layoutIfNeeded];

即可!(亲测可用)

例如:
UIToolbar *toolbar = [UIToolbar new];
    [self addSubview: toolbar];
    [toolbar layoutIfNeeded];

// 添加要添加的子视图
    <here one can add all subviews needed>

解决方案来源:

https://stackoverflow.com/questions/46107640/ios11-uitoolbar-contentview

其他方法参考:(通过添加item)

// UIToolbar,其中rectButton、circleButton 有一个buttonClick:方法
UIToolbar *markToolBar = [[UIToolbar alloc] initWithFrame:CGRectZero];    
UIBarButtonItem *rectItem = [[UIBarButtonItem alloc] initWithCustomView:self.rectButton];
UIBarButtonItem *circleItem = [[UIBarButtonItem alloc] initWithCustomView:self.circleButton];   
UIBarButtonItem *flexibleitem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:(UIBarButtonSystemItemFlexibleSpace) target:self action:nil];
NSArray *items = @[rectItem,flexibleitem,circleItem];
[markToolBar setItems:items animated:YES];
只能通过添加item 实现了

解决方案来源:

http://www.cocoachina.com/bbs/read.php?tid-1725608.html

问题2. tableview 上拉刷新时候,数据加载完毕,但是位置产生了偏移

原因:

Table Views :在iOS 11中默认启用Self-Sizing

这个应该是UITableView最大的改变。我们知道在iOS8引入Self-Sizing 之后,我们可以通过实现estimatedRowHeight相关的属性来展示动态的内容,实现了estimatedRowHeight属性后,得到的初始contenSize是个估算值,是通过estimatedRowHeight xcell的个数得到的,并不是最终的contenSizetableView不会一次性计算所有的cell的高度了,只会计算当前屏幕能够显示的cell个数再加上几个,滑动时,tableView不停地得到新的cell,更新自己的contenSize,在滑到最后的时候,会得到正确的contenSize。创建tableView到显示出来的过程中,contentSize的计算过程如下图:

解决方法;

如果目前项目中没有使用estimateRowHeight属性,在iOS11的环境下就要注意了,因为开启 Self-Sizing之后,tableView是使用 estimateRowHeight属性的,这样就会造成contentSize和contentOffset值的变化,如果是有动画是观察这两个属性的变化进行的,就会造成动画的异常,因为在估算行高机制下,contentSize的值是一点点地变化更新的,所有cell显示完后才是最终的contentSize值。因为不会缓存正确的行高,tableView reloadData的时候,会重新计算contentSize,就有可能会引起contentOffset的变化。iOS11下不想使用 Self-Sizing的话,可以通过以下方式关闭:
self.tableView.estimatedRowHeight = 0;
self.tableView.estimatedSectionHeaderHeight = 0;
self.tableView.estimatedSectionFooterHeight = 0;
问题3解决方法来源:
作者:sonialiu 链接:http://www.jianshu.com/p/370d82ba3939 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

ios 11 适配遇到的问题相关推荐

  1. iOS 11 适配集锦

    安全区域的适配 用Xcode 9 创建storyboard或者xib时,最低版本支持iOS 8时会报: Safe Area Layout Guide before iOS 9.0 如图: 原因:在iO ...

  2. iOS 11 适配笔记

    一.定位权限: 无论是iOS11还是之前的系统版本,定位权限总共就三种:"永不"."使用应用期间"."始终" 之前的iOS 10的定位权限是 ...

  3. IOS 11 适配导航栏、状态栏调整

    在ios中对于导航栏和状态栏调整遇到问题的,请往下看. 如果系统添加导航栏和状态栏满足不了需求,可以尝试自定义制作满足自己需要的,以下提供方法和属性,让你自定义制作. 注意:状态栏  20像素     ...

  4. 关于iOS 11的适配

    距离iOS 11正式发布也有小半年了, 陆陆续续也看到许多关于iOS 11和iPhone X适配相关的文章, 现记录下自己做适配所做的工作 首先给出自己适配所用到的宏定义, 如下: //状态栏 #de ...

  5. iOS 11 安全区域适配总结

    2019独角兽企业重金招聘Python工程师标准>>> 导语:本文主要是对iOS 11下APP中tableView内容下移20pt或下移64pt的问题适配的一个总结.内容包括五个部分 ...

  6. 你可能需要为你的 APP 适配 iOS 11

    为什么80%的码农都做不了架构师?>>>    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq. ...

  7. iphoneX布局适配及iOS 11.0系统适配

    一,想必大多开发者将自己的项目跑到iPhoneX模拟器上后,会出现各种异常,包括界面布局的变化,根据自己遇到的情况主要说下面两点大家肯定需要修改的: (1),启动页不是全屏的,(如图) 解决办法: 如 ...

  8. 适配iOS 11和iPhone X——导航栏、UITableView

    每年的WWDC大会都激动和紧张好一段时间.激动的是期待苹果的新产品带来的那些黑科技,尤其今年的iPhone10周年纪念款iPhone X.紧张的当然是iOS.Swift和Xcode的升级,又要加班了( ...

  9. iOS - 适配iOS 11

    http://www.10tiao.com/html/330/201707/2653579210/1.html 存档 导语:iOS 11 为整个生态系统的 UI 元素带来了一种更加大胆.动态的新风格. ...

最新文章

  1. select选择框实现跳转
  2. Java B2B2C多用户商城 springcloud架构- common-service 项目构建过程(七)...
  3. 【NOIP 模拟赛】钟 模拟+链表
  4. IE8 chrome 中 table隔行换色解决办法
  5. 【LeetCode从零单排】No26.Remove Duplicates from Sorted Array
  6. Python-图像的手绘效果
  7. CSS自学教程--一天搞定CSS(终篇总结)
  8. cisco 两个设备之间测试吞吐量的一个方法
  9. Qt 通过鼠标移动窗口
  10. python 40位的数减个位数_Python——进制表示与转换
  11. python docx官网_【记录】尝试用DocxyGen为Python代码生成文档
  12. C++/C--mmap()详解
  13. 虚拟化未来是I don’t care
  14. 背景图片自适应大小(css3)
  15. 利用Microsoft Visual Studio查看.dll文件的依赖项及内部函数名
  16. M302A-ZN-S905L2蓝牙语音-支持外置无线网卡版本
  17. Redis主从复制(Master/Slaver)初级
  18. 《深度学习》学习笔记(十二)
  19. java百万级别的并发_抗住百万高并发的 6 个关键技术!
  20. 如何编写测试用例及用例的意义

热门文章

  1. 电脑底部工具栏跑到侧面了怎么办
  2. IMX6ULL裸机篇之I2C相关寄存器与AP3216C传感器
  3. Smali 语法解析——Hello World
  4. 二、JavaWeb基础(BootStrap前端框架)
  5. 《大咖说开源第二季》一、二期
  6. VMware vSphere 命令随记
  7. dw html设置字体颜色,字体颜色怎么设置-dreamweaver编辑字体大小、颜色样式方法...
  8. 数人云DCOS:坚持Mesos+Docker,图谋10万主机集群与机器学习扩容
  9. 0010__bat的pushd和popd
  10. SVN 忽略指定类型文件或指定名称文件夹