如何在自动布局中滑动表格视图单元格?
Posted
技术标签:
【中文标题】如何在自动布局中滑动表格视图单元格?【英文标题】:how to slide a tableview cell in Autolayout? 【发布时间】:2012-12-05 14:56:03 【问题描述】:我可以通过更改旧 ios 版本中的单元格框架来滑动 TableView 单元格的 contentView。但是,我不能在自动布局中滑动它。就我而言,我创建了一个自定义表格单元格,如下图所示:
在滑动单元格之前,我已经移除了所有前导和顶部约束,但仍有一些约束阻止我滑动单元格,例如
"<NSAutoresizingMaskLayoutConstraint:0x8a39c60 h=--& v=--& UITableViewCellContentView:0x8a2f640.midX == + 160>",
"<NSAutoresizingMaskLayoutConstraint:0x8a39ca0 h=--& v=--& H:[UITableViewCellContentView:0x8a2f640(320)]>",
"<NSAutoresizingMaskLayoutConstraint:0x8a39ce0 h=--& v=--& UITableViewCellContentView:0x8a2f640.midY == + 21.5>",
"<NSAutoresizingMaskLayoutConstraint:0x8a39d20 h=--& v=--& V:[UITableViewCellContentView:0x8a2f640(43)]>"
但是,如果我使用
[self setTranslatesAutoresizingMaskIntoConstraints:NO];
在我的自定义单元格中,有一个问题:
*** -[UITableView layoutSublayersOfLayer:] 中的断言失败,/SourceCache/UIKit_Sim/UIKit-2372/UIView.m:5776 2012-12-05 22:45:14.987 Slider[3773:c07] *** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“执行 -layoutSubviews 后仍需要自动布局。 UITableView 的 -layoutSubviews 实现需要调用 super.'我不知道怎么解决,请帮帮我。
【问题讨论】:
【参考方案1】:我遇到了同样的问题。使用时出现错误
[aView setTranslatesAutoresizingMaskIntoConstraints:NO];
在单元格内容视图上。表格视图单元格似乎不支持此设置。
要解决这个问题,请将所有内容嵌入到容器视图中,并将其添加为 tableview 单元格的子视图。
看到这个答案"Auto Layout still required after executing -layoutSubviews" with UITableViewCell subclass
【讨论】:
以上是关于如何在自动布局中滑动表格视图单元格?的主要内容,如果未能解决你的问题,请参考以下文章