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

Ios 将UITableView作为子视图添加到另一个UITableView,ios,objective-c,uitableview,Ios,Objective C,Uitableview,我是iOS开发新手。我有一个UITableView,比如TableA,它是另一个UITableView,比如TableB的子视图。我使用自动布局将表格A定位在表格B中。现在,这在iOS8上可以正常工作,但在iOS7上自动布局完全中断,从而出现了一些nsinternalinconsistency异常。要消除该异常,请停止使用AutoLayout 我向一位经验丰富的iOS开发人员提出了这个问题,那个人告诉我,我不应该向UITableView添加子视图,因为它是一个私有视图。他说,这完全是错的。现在我

我是iOS开发新手。我有一个UITableView,比如TableA,它是另一个UITableView,比如TableB的子视图。我使用自动布局将表格A定位在表格B中。现在,这在iOS8上可以正常工作,但在iOS7上自动布局完全中断,从而出现了一些nsinternalinconsistency异常。要消除该异常,请停止使用AutoLayout


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

UITableView和UICollectionView是专门的视图,它们处理自己的所有子视图排列。两者都将单元格与主视图背景一起用作子视图,等等

我不知道为什么你有一张桌子在一张桌子里;但我猜你想要实现的是把TableB放在TableA的一个单元格中

创建小tableView的XIB并将其用作自定义表格单元。创建UITableViewCell的子类来处理实现。不知何故,您必须为TableA单元格内的每个TableB提供一个数据源,并可能委托


你可能想问问自己,为什么你需要一张桌子里面的桌子;通常,一个简单的自定义表格单元可以完成复杂的数据显示,甚至一个带有自定义UICollectionViewLayout的UICollectionView也可以显示一些非常好的表格数据。

您没有UITableView实现,并且您不应该通过addSubview方法将子视图添加到其中,因为layout,子视图管理和所有内部由UITableView完成。您可以通过委托和数据源中提供的可扩展性点来修改UITableView的内容。

我甚至不想从技术上讲,请回答我一些问题,为什么需要将表视图放在另一个表视图中?这是一种非常糟糕的用户体验方法。«重要提示:不应在UIScrollView对象中嵌入UIWebView或UITableView对象。如果这样做,可能会导致意外行为,因为这两个对象的触摸事件可能会混淆并被错误处理。»由于UITableView源自UIScrollView,这一点在这里也适用。我需要为表视图单元格添加自动完成功能。当一个人编辑一个表格视图单元格时,我会显示另一个表格视图,其中包含用户键入内容的自动完成建议。谢谢。事实上,两个答案都很好地解释了这一点。另一个答案更准确。谢谢你的回答。我现在明白了。