iOS7中不再支持嵌套的UITableView。

8

我在另一个表格的第一个单元格中嵌套了一个表格。一切都很好,直到我为iOS7重新编译后,内部表格的行选择事件不再由内部表格的代理方法处理。

我被难住了。有什么想法吗?谢谢!


听起来好像是切换到AutoLayout导致的问题。我猜我的外部表视图的父视图上没有足够的约束条件。我已经为我的外部表视图添加了缺失的宽度和高度约束,但似乎无法在IB中将其添加到其父视图中。请查看此帖子:https://dev59.com/FnLYa4cB1Zd3GeqPVkfg - mph
请提供一些代码行以更好地理解您的问题。 - Chitra Khatri
2个回答

1
我经常使用这种技术,在iOS 7中仍然有效。请记住,由于滚动视图(在此情况下为表格视图)的约束工作方式,您需要内部表格视图的内容来定义其高度(我假设内部表格是固定的,因此高度=内容大小)。
我通常将UITableView扩展到类似以下内容,以便在此场景中与约束很好地配合使用:
@implementation ExpandedTableView

- (void)reloadData
{
    [super reloadData];
    [self invalidateIntrinsicContentSize];
}

- (CGSize)intrinsicContentSize
{
    return self.contentSize;
}

@end

此外,还可以查看我的播客,其中包含一些帮助创建动态高度表格单元的辅助程序: https://github.com/fer662/UITableViewHelper

0
我不确定是否是这种情况,但请确保您的嵌套表视图已添加到第一个单元格的cell.contentView中。由于UITableViewCell层次结构在iOS7上发生了变化,因此现在需要将每个控件添加到cell contentView中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接