AutoLayout 中常见的错误 以及log打印出警告整理

项目最近将要上线,最近几天要做的修bug,优化性能,但是控制台上的layout 约束警告引起我的注意,自iOS8之后,这些警告不会对项目的运行没影响,但是做为开发的我们实在看不下去了,决定要干掉它喽!然后查找资料,结合着自己,整理了下面的几个方面:

1、如果动态更新/增加与父视图的约束,请先保证视图是添加其父视图上,然后再添加约束。

2、Unable to simultaneously satisfy constraints 这类问题一般都是诸如约束之间冲突、约束规则含糊造成的,配合log输出的提示,找到相应的约束调整优先级或者增加删除约束即可。

3、NSLayoutConstraint “UIView-Encapsulated-Layout-Height”问题。。。这个问题感觉应该是iOS8.0之后才出现的,我之前并没有遇到过类似的问题。首先描述一下出现该warning的场景:使用Auto Layout计算UITableViewCell的高度。根据提示发现在动态更新约束时,系统会自动添加新的高度约束规则(是不是跟iOS8更新的SizeClassCell有关系呢)而这几个规则可能会存在约束冲突,一般说来都是打破自己添加的约束来优先满足系统强制添加的约束,解决办法就是降低这几个约束的优先级,1000-》999就可以了。StackOverFlow上的类似问题http://stackoverflow.com/questions/25059443/what-is-nslayoutconstraint-uiview-encapsulated-layout-height-and-how-should-i

学习了!有需要分享给大家!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值