我正在将一个项目更新到 iOS 8,并且我的 UITableViewCell 实现之一遇到了这个问题。当前在模拟器上而不是设备上,并且它设置为“iPhone 6”。
*** Assertion failure in -[UITableViewCell _setHostsLayoutEngine:], /SourceCache/UIKit_Sim/UIKit-3318/NSLayoutConstraint_UIKitAdditions.m:2754
2014-09-15 10:43:52.890 BasketballStatTracker[10662:304085] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Must translate autoresizing mask into constraints to have _setHostsLayoutEngine:YES.'
奇怪的是,我在所有其他 UITableView 中使用这个自定义 UITableViewCell 子类,并且它在没有任何断言的情况下运行良好。
这是 cellForRowAtIndexPath: 实现。
MyTableCell *cell =(MyTableCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell =[[MyTableCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
这是堆栈跟踪
0 CoreFoundation 0x000000010844e3f5 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x00000001080e7bb7 objc_exception_throw + 45
2 CoreFoundation 0x000000010844e25a +[NSException raise:format:arguments:] + 106
3 Foundation 0x0000000107ac228f -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 195
4 UIKit 0x0000000106de2e1c -[UIView(AdditionalLayoutSupport) _setHostsLayoutEngine:] + 188
5 UIKit 0x00000001069e7d92 -[UITableViewCell _setupTableViewCellCommon] + 333
6 UIKit 0x00000001069e84d7 -[UITableViewCell initWithCoder:] + 109
7 UIKit 0x0000000106b8a996 UINibDecoderDecodeObjectForValue + 705
有任何想法吗?
我找到了一个错误的 UITableViewCell,它被放置在有问题的 .xib 的视图层次结构中。删除它解决了问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)