快速切换不同的表格视图单元格布局

时间:2015-09-11 12:55:46

标签: ios swift uitableview

我想知道在表格视图中切换不同布局时有哪些技术。

我现在拥有的是VC中的嵌入式tableview /自定义单元格。 它有一个简单的列表设计,一个图像/标题。 我想做的是当用户按下“网格”按钮时,它会将布局更改为更大的单元格,有点像instagram的外观。

是否可以在tableview中的不同单元格布局之间进行动画处理?

谢谢!

2 个答案:

答案 0 :(得分:2)

我不相信一旦初始化就可以改变风格。但是,您可以在运行时在自己的自定义单元格之间进行更改,并且最好使用不同单元格类型的协议来实现。

答案 1 :(得分:1)

是的,这是可能的。我已经习惯了,但我并不是说这是最终的方式。

以下是您可能要遵循的步骤:

  • 设计两个具有不同标识符的不同单元格(我是从故事板中完成的)
  • 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
      ...
    }
    }
    
  • 切换(布局更改)时重新加载您的tableview

试试这个并告诉我。希望它适合你!