【问题标题】:swift toggle between different table view cell layouts在不同的表格视图单元格布局之间快速切换
【发布时间】:2015-09-11 12:55:46
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

    标签: ios swift uitableview


    【解决方案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 {
    • 是的..我使用了相同的自定义单元格,因为我不需要每个单独的单元格
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多