微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在不重新加载UITableView或单个单元格[Swift]的情况下增加单行高度?

如何解决如何在不重新加载UITableView或单个单元格[Swift]的情况下增加单行高度?

桌子高度只能通过代表来更改,没有其他方法可以实现,我将向您展示一个简单的方法

声明变量

var selectedindex = NSIndexPath()

在 内部重新加载选定的单元格

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

        selectedindex = indexPath
        tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Fade)

    }

内部 返回大小

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    if indexPath == selectedindex {

        return 100 //Size you want to increase to
    }
    return 50 // Default Size
}

解决方法

我想扩大 行高
并显示其中的内容。我在想要的视图中显示我的内容,当我点击一个单元格时,它应该像下图所示那样展开,但无需重新加载UITableview。

图片

到目前为止,我一直在尝试。

1)我尝试在内部扩大视图,但是没有用

2)我尝试添加rowAtIndex变得越来越复杂

3)我尝试更改更改行高并在索引处滚动,效果很好,但我不想那样做。(不好的事情,我必须重新加载表视图)

但是我得到了很多答案,但是它没有解决我的问题,因为如果我在特定索引处刷新数组(数据源)中的数据会不断更新,那么索引处的数组中的数据可能会有所不同,可能会显示错误的输出。

说明

我的意思是我有一个结构数组,一旦数据更改并重新加载表视图,我会继续在后台对其进行更新,但是如果我重新加载了索引处的行,并且如果数组中的数据已经更改,则可能显示重复正确吗?所以我只想更改行的高度而无需重新加载。

重新加载的问题是

而扩展数据可能会改变数组中的数据。所以我已经创建了一个视图,一旦我点击单元格的高度应该从45更改为76,并且再次点击从最后一个单元格76到45以及此单元格45到76的其他单元格,所有信息都会被预加载。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。