繁体   English   中英

将UITableView作为子视图添加到另一个UITableView

[英]Adding a UITableView as a subview to another UITableView

我是iOS开发的新手。 我有一个UITableView(例如TableA),它是另一个UITableView(例如TableB)的子视图。 我正在使用自动布局将TableA放置在TableB中。 现在,这在iOS8上可以正常工作,但是自动布局在iOS7上完全中断,给出了一些NSInternalInconsistencyException。 要摆脱该异常,就是停止使用AutoLayout。

我将这个问题交给了一位经验丰富的iOS开发人员,那个人告诉我,我不应该在UITableView中添加子视图,因为它是私有视图。 他说那完全是错误的。 现在我不知道为什么会出错,但是我不能再问他了。 我想了解为什么会出错。

UITableView和UICollectionView是专门的视图,可以处理所有自己的子视图排列。 两者都使用“单元格”作为子视图以及主视图背景等。

我不确定为什么在桌子上有桌子。 但是我想您要达到的目的是将TableB实际放在TableA的单元格中。

创建一个小tableView的XIB并将其用作您的自定义表格单元格。 创建UITableViewCell的子类来处理实现。 您必须以某种方式为TableA单元内的每个“ TableB”提供数据源(并可能委托)。

您可能想问自己,为什么在表格内需要表格? 通常,一个简单的自定义表格单元格可以完成复杂的数据显示-甚至带有自定义UICollectionViewLayout的UICollectionView都可以显示一些非常好的列表数据。

您不拥有UITableView实现,并且由于布局,子视图管理以及UITableView完成的所有内部操作,因此不应该通过addSubview方法向其中添加子视图。 您可以通过委托和数据源中提供的可扩展性点来修改UITableView的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM