【问题标题】:Nested UITableViews no longer work in iOS7嵌套的 UITableViews 在 iOS7 中不再工作
【发布时间】:2013-09-20 20:55:35
【问题描述】:
我在另一个表格的第一个单元格中有一个嵌套表格。它工作得很好,直到我为 iOS7 重新编译,现在内表的行选择事件不再由内表的委托方法处理。
我被难住了。有任何想法吗?谢谢!
【问题讨论】:
标签:
uitableview
nested
ios7
【解决方案1】:
我经常使用这种技术,它在 iOS 7 中仍然有效。请记住,由于滚动视图(在本例中为 tableview)的约束如何工作,您需要内部 tableview 的内容来定义它的高度(我'我假设内表是固定的,所以 height = contentSize)。
我通常为此目的将 UITableView 扩展为类似这样的东西,以便它在这种情况下很好地处理约束:
@implementation ExpandedTableView
- (void)reloadData
{
[super reloadData];
[self invalidateIntrinsicContentSize];
}
- (CGSize)intrinsicContentSize
{
return self.contentSize;
}
@end
另外,请查看我的 pod,并使用一些助手轻松创建动态高度表单元格:
https://github.com/fer662/UITableViewHelper
【解决方案2】:
我不知道是否是这种情况,但请确保将嵌套表视图添加到第一个单元格的 cell.contentView 中。由于 iOS7 上的 UITableViewCell 层次结构发生了变化,您现在需要将每个控件添加到单元格 contentView。