加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 17:42:40 所属栏目:百科 来源:网络整理
导读:我目前正在开发我的第一个iOS应用程序,并遇到了一个我似乎无法解决的问题.经过长时间的思考和奋斗,我决定在这里询问是否有人遇到过类似的问题,可以帮助我. 我有一个带有两个单元原型的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;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读