1

我有一个 UITableViewCell 子类,打开自动布局后,我现在收到此错误:

2013-01-29 15:46:15.555 iP2[6690:907] *** Assertion failure in -[MenuTableViewCell layoutSublayersOfLayer:], /SourceCache/UIKit/UIKit-2372/UIView.m:5776
2013-01-29 15:46:30.357 iP2[6690:907] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Auto Layout still required after executing -layoutSubviews. MenuTableViewCell's implementation of -layoutSubviews needs to call super.'

MenuTableViewCell 是我的子类。

我猜这与 IB 如何决定为这个单元自动构建约束有关。这是我为此单元设置的 IB 的屏幕截图:https ://www.evernote.com/shard/s4/sh/0ec12042-7d37-4770-8d7a-c0c8c1e4e6f0/3192e32e8fde55dfe94c7269c428f73b

4

2 回答 2

2

关闭自动布局为我解决了这个问题,似乎UITableViewCell不支持自动布局,因此您可以将其子类化并在您的设计中使用自动布局...

于 2013-02-13T11:05:31.467 回答
0

难道是你必须实现 layoutSubviews 方法?看来您也已将此消息发送给 super。例如:

  • (void)layoutSubviews { [super layoutSubviews]; ETC... }
于 2013-01-29T16:17:58.623 回答