带有 UITableViewCell 和 UITextField 的 iOS 8 自动布局
Posted
技术标签:
【中文标题】带有 UITableViewCell 和 UITextField 的 iOS 8 自动布局【英文标题】:iOS 8 Auto Layout with UITableViewCell and UITextField 【发布时间】:2015-02-11 06:26:29 【问题描述】:我的项目在自定义 UITableViewCell
中存在 ios8 兼容性问题。我收到以下错误
Assertion failure in -[EditableTextCell _setHostsLayoutEngine:], /SourceCache/UIKit/UIKit-3318.16.25/NSLayoutConstraint_UIKitAdditions.m:2760
2015-02-10 23:23:16.959 App_name[2883:507063] *** Terminating app due to uncaught exception
'NSInternalInconsistencyException', reason: 'Must translate autoresizing mask
into constraints to have _setHostsLayoutEngine:YES.'
我见过类似的问题,例如 UITableViewCell throwing exception 和其他问题,例如 UITableview Cell exception - 'Must translate autoresizing mask into constraints to have _setHostsLayoutEngine:YES,但没有一个有用。我已经删除了约束,但仍然出现错误。
我正在使用自动布局。上面错误中提到的 EditableTextCell 是带有UITextFieldDelegate
的自定义UITableViewCell
,我在许多xib 文件中使用它。我的视图层次结构如下:-
View_Portrait
Portrait_TopContentView Editable Text Cell -- 这是自定义类 EditableTextCell 内容视图 表格视图单元格 内容视图 按钮 Portrait_TableContainerView 纵向_标签栏 UITabBarItem1 UITabBarItem2横向视图的类似结构。
我非常感谢任何帮助。如果我能提供更多信息,请告诉我。
更新:我已经尝试了一些解决方案,但这仍然不适合我。在我为 EditableTextCell setFrame:
之前,我输入了以下代码行:
[self.pSearchEditCell setTranslatesAutoresizingMaskIntoConstraints:YES];
[self.pSearchEditCell.textField setFrame:textFieldFrame];
[self.pSearchEditCell.textField layoutIfNeeded];
其中pSearchEditCell
是UITableViewCell
的自定义表格单元格,具有UITextField
。但这种方法对我不起作用。
【问题讨论】:
您是否对代码中以编程方式添加的每个 UIElement 使用了这一行 translatesAutoresizingMaskIntoConstraints = NO。如果您还没有尝试过一次。 不,我没用过这条线。我今天会尝试一下,如果这对我有用,请告诉您。 嗨@Karish对此有什么解决方案吗?我不断收到此错误,但无法找到一个好的解决方案 嗨@HongZhou,没有优雅的解决方案。自定义表格单元格必须是故事板的一部分。 【参考方案1】:有同样的问题。最终我只是在UitableView
中使用了单元格,如果您使用UITableView
之外的单元格,iOS8 似乎不太喜欢它。
【讨论】:
我今天会试试这个。谢谢。 您设置了哪些约束条件,单元格和表格的约束条件相同。我不知道该怎么做,你能给我更多的信息吗?谢谢。 对不起,我不明白你想问什么。单元格的约束在自定义单元格类中设置。并且 uitableview 有自己的约束 在我的故事板中没有嵌套表格单元是我收到此错误时的问题。以上是关于带有 UITableViewCell 和 UITextField 的 iOS 8 自动布局的主要内容,如果未能解决你的问题,请参考以下文章
带有 UITableViewCell 和 UITextField 的 iOS 8 自动布局
是否有带有标签和文本字段的可重用 UITableViewCell?
带有 xib 文件和自定义构造函数的自定义 UITableViewCell
在第二次搜索时带有自定义 UITableViewCell 的 UISearchDisplayController 失去 UITableViewCell 连接
带有 UITextView 的 UITableViewCell 中的自动布局
在 ViewController 中使用带有外部 DataSource 和 UITableView 的自定义 UITableViewCell