iOS11开发遇到的坑

1、Xcode 9 使用 command + 单击 直接跳转到定义

Xcode 9 之前按住command +鼠标左键 即可跳转定义。如今不一样了,如图:

blog_20170926001

首先整块区域高亮,弹出菜单,Jump to Definition在菜单第一项,点击才会跳转,我想大部分人都不喜欢这种操作,多了一步,回到之前的快速跳转定义的姿势方法:

鼠标用户: 对准你的对象,Command+鼠标右键
触摸板用户: 对准你的对象, Command+双指点击
如果你有强迫症,非要找回之前一模一样的感觉,可以这样操作:

blog_20170926002

2、导航栏向上跑了部分距离:宏定义一个高度


#define NAVIGATION_HEIGHT (CGRectGetHeight([[UIApplication sharedApplication] statusBarFrame]) + CGRectGetHeight(self.navigationController.navigationBar.frame))  
//在你设置的self.navigationBar.frame = CGRectMake(0, 0,ScreenWidth, NAVIGATION_HEIGHT);下面添加  
#ifdef __IPHONE_11_0  
if (@available(iOS 11.0, *)) {  
self.navigationBar.frame = CGRectMake(0, STATUSBAR_HEIGHT,ScreenWidth, NAVIGATION_HEIGHT);  
}  
#endif   

3、VC中的tableView向下移动部分距离,以及cell直接的间隔会无故拉大


//在你的tableView下面添加这句话  适配tableview间隙异常    
if (@available(iOS 11.0, *)) {    
self.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;    
} else {    
// Fallback on earlier versions    
} 


/*大概就是说我们不再需要自己去计算cell的高度了,只要设置好这两个属性,约束好布局,系统会自动计算好cell的高度。IOS11以后,Self-Sizing默认开启,包括Headers  
, footers。如果项目中没使用estimatedRowHeight属性,在IOS11下会有奇奇怪怪的现象,因为IOS11之前,estimatedRowHeight默认为0,Self-Sizing自动打开后  
,contentSize和contentOffset都可能发生改变。可以通过以下方式禁用:*/    
    
self.tableView.estimatedRowHeight = 0;     
self.tableView.estimatedSectionHeaderHeight = 0;     
self.tableView.estimatedSectionFooterHeight = 0;  
	

4、Xcode 9 新建项目后,报错

blog_20170926003

新建项目默认是需要使用安全区域的,可以取消掉…

blog_20170926005blog_20170926004

5、持续更新中…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值