我正在开发一个现有项目。 该项目有一个屏幕,显示订单的详细信息。 每个订单都有订单商品。因此,表视图自然会用于显示订单商品。这很好用。 现在,系统已经以这种方式进行了扩展,即每个订单商品都可以有0个或更多的浇头。如果订单商品有配料,则还需要在列表中显示。 所以,我采取的方法是尝试实现一个表视图,该视图负责显示订单商品单元格中的订单商品浇头。 我已经读过这种方法,人们说这是可能的。
我现在遇到的问题是,对于订单项表视图单元格中的浇头表视图,会调用numberOfRowsInSection
方法,但根本不会调用cellForRowAtIndexPath
。
我已经读过这个问题了,人们说这与表视图框架设置不正确有关。
我已使用Interface Builder
AutoLayout
设置了带有顶部单元格的订单商品。
我(认为)所有约束都已到位,以便单元格正确地呈现它的内容和高度。
但是,从截图中可以看出,根本没有呈现浇头tableview
。
答案 0 :(得分:0)
问题似乎与您的UITableViewDelegate
以及您希望获得细胞自动高度的方式有关。
在heightForRowAtIndexPath
中,您返回UITableViewAutomaticDimension
,实际上等于-1.0
。如果你看that function's description in documentation,你会看到
返回值
一个非负浮点值,指定该行应该的高度(以磅为单位)。
现在,如果您的每一行都有负高度,那么表格视图就无法显示 - 因此永远不会调用cellForRowAtIndexPath
。
<强> TL,DR 强>
您几乎就在那里 - UITableViewAutomaticDimension
应设置为UITableView.rowHeight
,而不是heightForRowAtIndexPath
toppingsTableView.rowHeight = UITableViewAutomaticDimension
此外,删除功能heightForRowAtIndexPath
和estimatedHeightForRowAtIndexPath