在不同的表格视图单元格布局之间快速切换
Posted
技术标签:
【中文标题】在不同的表格视图单元格布局之间快速切换【英文标题】:swift toggle between different table view cell layouts 【发布时间】:2015-09-11 12:55:46 【问题描述】:我想知道在表格视图的不同布局之间切换时有哪些技术。
我现在拥有的是我的 VC 中的嵌入式表格视图/自定义单元格。 它有一个简单的列表设计,一个图像/标题。 我想做的是当用户按下“网格”按钮时,它会将布局更改为更大的单元格,有点像 instagram 的样子。
那么是否可以在 tableview 中的不同单元格布局之间进行动画处理?
谢谢!
【问题讨论】:
【参考方案1】:我不相信一旦初始化就可以更改样式。但是,您可以在运行时在自己的自定义单元之间进行更改,并且最好使用针对不同单元类型的协议来实现。
【讨论】:
你的意思是“容器vc”和表视图vc之间的协议/委托吗?【参考方案2】:是的,这是可能的。我已经使用了它,但我并不是说这是最终的方式。
以下是您可能希望遵循的步骤:
用不同的标识符设计两个不同的单元格(我是从情节提要中完成的)在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
...
切换时重新加载您的表格视图(布局更改)
试试这个,让我知道。希望它对你有用!
【讨论】:
谢谢 试试看,我猜我不能用这个方法得到动画,但它看起来很干净,很容易使用两个单元格: class TableViewCellOne: UITableViewCell class TableViewCellTwo: UITableViewCell 是的..我使用了相同的自定义单元格,因为我不需要每个单独的单元格以上是关于在不同的表格视图单元格布局之间快速切换的主要内容,如果未能解决你的问题,请参考以下文章