ios – 使用Storyboard的不同单元格原型和高度的UITableView

前端之家收集整理的这篇文章主要介绍了ios – 使用Storyboard的不同单元格原型和高度的UITableView前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正在开发我的第一个iOS应用程序,并遇到了一个我似乎无法解决的问题.经过长时间的思考和奋斗,我决定在这里询问是否有人遇到过类似的问题,可以帮助我.

我有一个带有两个单元原型的UITableView.我可以毫无问题地渲染两种细胞类型,但是有一个小的捕获.一种细胞类型的高度为475px,而另一种仅为250px.渲染表视图时,表的每一行都具有相同的高度.我继续调试我的故事板,发现我的表视图的行高为475px.这对于较高的细胞来说很好,但是对于较小的细胞,它在它们之间留下了空白区域.

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

解决方法

您需要使用heightForRowAtIndexPath,但不应该检查表以找出哪个单元格在哪个索引中.您应该检查您的数据源.

例如,在cellForRowAtIndexPath中,您将拥有类似……

if ( /*some condition*/ ) {
    cell = //dequeue cell type 1
} else {
    cell = //dequeue cell type 2
}

因此,在heightForRow中,您执行完全相同的检查.

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

猜你在找的Xcode相关文章