【问题标题】:Nested UITableViews no longer work in iOS7嵌套的 UITableViews 在 iOS7 中不再工作
【发布时间】:2013-09-20 20:55:35
【问题描述】:

我在另一个表格的第一个单元格中有一个嵌套表格。它工作得很好,直到我为 iOS7 重新编译,现在内表的行选择事件不再由内表的委托方法处理。

我被难住了。有任何想法吗?谢谢!

【问题讨论】:

  • 听起来切换到 AutoLayout 是罪魁祸首。我想我对外部表视图的超级视图没有足够的约束。我将缺少的宽度和高度约束添加到我的外部表视图中,但我似乎无法将它们添加到它在 IB 中的父视图中。请查看此帖子:stackoverflow.com/questions/16629673/…
  • 请输入一些代码,以便更好地解决您的问题

标签: 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。

    【讨论】:

      猜你喜欢
      • 2013-10-14
      • 1970-01-01
      • 2013-09-29
      • 1970-01-01
      • 2017-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多