您的位置:首页 > 产品设计 > UI/UE

[iOS 报错]Assertion failure in -[UITableView layoutSublayersOfLayer:]

2016-08-17 15:04 549 查看
Assertion failure in -[UITableView layoutSublayersOfLayer:] 报错

主要是 添加约束和 Use Auto Layout 和代码添加的控件之间的错误

情况阐述

1.项目中, 用xib生成UIVIewController 视图控制器

2.此视图中 有一个登录头视图 + 一个tableview组成

3.想把头view 添加到tableview的 tableHeadView上去

4.结果报错

问题分析

1.主要由于使用xib 结合 代码共同完成这个页面,由于xib开启了 Use Auto Layout 选项, 所以有了约束的干扰



这里的
_headBGview
是用xib 直接画出的

这里的
_tableview
是代码生成



由于我不愿意去掉 Use Auto Layout 的勾选, 且仍旧想使用
_headBGview
所以我不打算用代码重写
_headBGview


我发现如果你手动用代码构建一个
UIVIew


那么 在 setTableHeadView 的时候, 是可以不报错的

那么,只要让
_headBGview
在xib构建好以后, 不加载到 我们的ViewController的 self.view 上,

所以



我在xib中 把
_headBGview
单独分出来

然后再去



果然可行~~~

稍稍注意的是
_headBGview
单独分出来以后, 其尺寸在xib中好像不能修改

故 可以在 代码中调整



于是可以了

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐