具有AccessoryType的自定义UITableViewCell中断约束

时间:2015-01-26 12:27:27

标签: ios uitableview autolayout

我正在尝试使用标签和附件类型制作自定义UITableViewCell,但添加附件会导致某些限制被破坏。

这是我的布局:

enter image description here

没有附件,没有任何不好的事情发生,日志也很干净。 添加附件时,标签与“同步”按钮之间的约束会被破坏。

然而,考虑到附件视图的宽度,这些元件的布局正确。这是来自控制台的日志:

  

无法同时满足约束条件。       可能至少以下列表中的一个约束是您不想要的约束。试试这个:(1)看看每个约束,并试着找出你不期望的东西; (2)找到添加了不需要的约束或约束的代码并修复它。 (注意:如果您正在查看您不了解的NSAutoresizingMaskLayoutConstraints,请参阅UIView属性的文档translatesAutoresizingMaskIntoConstraints)
  (
   "<NSLayoutConstraint:0x7f9b90cbf270 H:|-(13)-[UILabel:0x7f9b90cbeb90'Top Label'] (Names: '|':UITableViewCellContentView:0x7f9b90cbe1c0 )>", "<NSLayoutConstraint:0x7f9b90cbf4f0 H:[UIButton:0x7f9b90cbd6c0'Sync']-(8)-| (Names: '|':UITableViewCellContentView:0x7f9b90cbe1c0 )>", "<NSLayoutConstraint:0x7f9b90cbf540 H:[UILabel:0x7f9b90cbeb90'Top Label']-(18)-[UIButton:0x7f9b90cbd6c0'Sync']>", "<NSLayoutConstraint:0x7f9b90cc1550 'fittingSizeHTarget' H:[UITableViewCellContentView:0x7f9b90cbe1c0(38)]>"
  )

     

将通过打破约束来尝​​试恢复   <NSLayoutConstraint:0x7f9b90cbf540 H:[UILabel:0x7f9b90cbeb90'Top Label']-(18)-[UIButton:0x7f9b90cbd6c0'Sync']>

在单元格中使用AutoLayout和附件视图的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

我不知道为什么会出现这些日志消息 但是我可以通过停止在故事板上设置附件视图但编写cell.accessoryType = .DisclosureIndicator之类的代码来修复消息。