我想扩大 行高 并显示其中的内容。我在想要的视图中显示我的内容,当我点击一个单元格时,它应该像下图所示那样展开,但无需重新加载UITableview。
到目前为止,我一直在尝试。
1)我尝试在内部扩大视图,但是没有用
2)我尝试添加rowAtIndex变得越来越复杂
3)我尝试更改更改行高并在索引处滚动,效果很好,但我不想那样做。(不好的事情,我必须重新加载表视图)
但是我得到了很多答案,但是它没有解决我的问题,因为如果我在特定索引处刷新数组(数据源)中的数据会不断更新,那么索引处的数组中的数据可能会有所不同,可能会显示错误的输出。
说明
我的意思是我有一个结构数组,一旦数据更改并重新加载表视图,我会继续在后台对其进行更新,但是如果我重新加载了索引处的行,并且如果数组中的数据已经更改,则可能显示重复正确吗?所以我只想更改行的高度而无需重新加载。
重新加载的问题是
而扩展数据可能会改变数组中的数据。所以我已经创建了一个视图,一旦我点击单元格的高度应该从45更改为76,并且再次点击从最后一个单元格76到45以及此单元格45到76的其他单元格,所有信息都会被预加载。
桌子高度只能通过代表来更改,没有其他方法可以实现,我将向您展示一个简单的方法。
声明变量
var selectedIndex = NSIndexPath()
在 didSelectRowAtIndexPath 内部重新加载选定的单元格
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { selectedIndex = indexPath tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Fade) }
内部 heightForRowAtIndexPath 返回大小
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { if indexPath == selectedIndex { return 100 //Size you want to increase to } return 50 // Default Size }