Ios 使用情节串连板查看具有不同单元原型和高度的UITableView

Ios 使用情节串连板查看具有不同单元原型和高度的UITableView,ios,xcode,uitableview,Ios,Xcode,Uitableview,我目前正在开发我的第一个iOS应用程序,遇到了一个我似乎无法解决的问题。经过长时间的思考和斗争,我决定在这里询问,看看是否有人遇到了类似的问题,可以帮助我 我有一个带有两个单元原型的UITableView。我能够毫无问题地渲染这两种单元格类型,但有一个小问题。一种电池的高度为475px,而另一种电池的高度仅为250px。渲染表视图时,表的每一行都具有相同的高度。我继续调试我的故事板,发现我的表视图的行高为475px。对于较高的单元格,这很好,但对于较小的单元格,这会在两者之间留下空白 我希望能够

我目前正在开发我的第一个iOS应用程序,遇到了一个我似乎无法解决的问题。经过长时间的思考和斗争,我决定在这里询问,看看是否有人遇到了类似的问题,可以帮助我

我有一个带有两个单元原型的UITableView。我能够毫无问题地渲染这两种单元格类型,但有一个小问题。一种电池的高度为475px,而另一种电池的高度仅为250px。渲染表视图时,表的每一行都具有相同的高度。我继续调试我的故事板,发现我的表视图的行高为475px。对于较高的单元格,这很好,但对于较小的单元格,这会在两者之间留下空白


我希望能够根据渲染的单元格类型调整每行的高度。这可能吗?我曾考虑使用heightForRowAtIndexPath,但因为在执行时单元格不存在,所以我无法检查某个索引中单元格的类。另外,在我的故事板中,我为两个单元原型中的每一个都指定了高度,但在运行时没有反映出来。有人知道如何解决这类问题吗?感谢您的高级支持。

您需要使用tableView:heightForRowAtIndexPath:

您可能有一些逻辑在您的细胞出列,您决定什么样的细胞,您想要为这类数据。您需要使用相同的逻辑来确定要在那里使用哪种单元格,并返回该单元格的高度


在实际创建单元格之前,将调用heightForRowAtIndexPath方法。这可能会带来一些挑战。

您需要使用
heightforrowatinexpath
但不应该检查表以找出哪个单元格位于哪个索引中。您应该检查您的数据源

例如,在
cellforrowatinexpath
中,您将看到类似于

if ( /*some condition*/ ) {
    cell = //dequeue cell type 1
} else {
    cell = //dequeue cell type 2
}
因此,在
heightForRow
中执行完全相同的检查

if ( /*some condition*/ ) {
    return 475;
} else {
    return 250;
}

这很有道理!我会继续实施它,然后回来给出答案。非常感谢。不用担心,乐于帮助:)Rowatinex路径的高度会降低性能是真的吗?我在别的地方听到过,但不记得在哪里。谢谢你的回答。这个加上@Fogmaster做的那个给我指明了正确的方向。祝您愉快,先生!