【发布时间】:2015-09-11 12:55:46
【问题描述】:
我想知道在表格视图的不同布局之间切换时有哪些技术。
我现在拥有的是我的 VC 中的嵌入式表格视图/自定义单元格。 它有一个简单的列表设计,一个图像/标题。 我想做的是当用户按下“网格”按钮时,它会将布局更改为更大的单元格,有点像 instagram 的样子。
那么是否可以在 tableview 中的不同单元格布局之间进行动画处理?
谢谢!
【问题讨论】:
标签: ios swift uitableview
我想知道在表格视图的不同布局之间切换时有哪些技术。
我现在拥有的是我的 VC 中的嵌入式表格视图/自定义单元格。 它有一个简单的列表设计,一个图像/标题。 我想做的是当用户按下“网格”按钮时,它会将布局更改为更大的单元格,有点像 instagram 的样子。
那么是否可以在 tableview 中的不同单元格布局之间进行动画处理?
谢谢!
【问题讨论】:
标签: ios swift uitableview
我不相信一旦初始化就可以更改样式。但是,您可以在运行时在自己的自定义单元之间进行更改,并且最好使用针对不同单元类型的协议来实现。
【讨论】:
是的,这是可能的。我已经使用了它,但我并不是说这是最终的方式。
以下是您可能希望遵循的步骤:
在cellForRowAtIndexPath 方法中,检查标识符并相应地显示布局。
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cellIdentifier = (self.layoutSegmentControl.selectedSegmentIndex == 0) ? "gridLayoutCell" : "listLayoutCell" //I used segment control to toggle, change the condition as per your need
let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier) as! MyCustomTableViewCell
if(cellIdentifier == "gridLayoutCell")
{
//Set the values
cell.bigImgView.image = [yourimage] //for ex
...
}
if(cellIdentifier == "listLayoutCell")
{
//Set the values
cell.thumbnailImgView.image = [yourimage] //for ex
...
}
}
切换时重新加载您的表格视图(布局更改)
试试这个,让我知道。希望它对你有用!
【讨论】: