插入时具有自动布局和 NSFetchedResultscontroller 单元布局错误的 UITableview
Posted
技术标签:
【中文标题】插入时具有自动布局和 NSFetchedResultscontroller 单元布局错误的 UITableview【英文标题】:UITableview with Autolayout and NSFetchedResults controller cell layout bug on insert 【发布时间】:2016-02-05 09:33:22 【问题描述】:我的 UITableview 单元格和自动布局似乎有一个非常奇怪的问题。所以我的tableview设置如下:
我在 UIViewController 中有一个 UITableView,它是通过 Interface builder 使用 Autolayout 创建的 我的 tableview 使用 UITableViewAutomaticDimension,以便单元格可以根据其中的文本调整大小。 每个单元格中有 2 个子视图。前视图和后视图。后视图包含我的可滑动单元格的按钮 我正在使用 NSFetchedResults 控制器来更新表格视图当我点击一个单元格并被带到下一个视图时会出现问题。然后我在该视图中创建一个核心数据项并保存,以便将其插入到我的 tableview 中(现在位于当前视图控制器后面)。
发生的情况是新插入的单元格似乎失去了所有自动布局约束,并且所有视图元素在单元格的左上角彼此重叠。看起来它们甚至不包含在单元格的前视图中(或者前视图的宽度和高度为 0)。
例子:
它变得更加陌生。如果我通过下拉刷新表格视图并重新加载单元格,它会自行纠正。但是,如果我再次刷新 tableview,那么问题会再次出现,但出现在不同的单元格上。这个错误不会一直发生,这很令人沮丧。
任何帮助都将不胜感激,因为在这个阶段我的头上只剩下几根头发可以拔掉。
提前致谢!
【问题讨论】:
【参考方案1】:所以我发现了问题所在。问题是我在 Interface builder 中使用了尺寸类,但我只使用了 iPhone Portrait 尺寸类,并且在那里完成了我所有的工作,而不是“任何”尺寸类。禁用 size classes 并将项目设置为 iPhone 只能解决所有这些问题。
我知道很奇怪
【讨论】:
以上是关于插入时具有自动布局和 NSFetchedResultscontroller 单元布局错误的 UITableview的主要内容,如果未能解决你的问题,请参考以下文章
iOS 8.0.2 和 iPhone plus 当我在 XIB 中设置 UIButton backgroundImage 时,UIButton 变得更大,尽管这个按钮具有高度和重量的自动布局