swift heightForRowAt indexPath 不更新

标签 swift height cell heightforrowatindexpath indexpath

使用此代码,我根据数组中的项目数设置单元格的自动尺寸。 它可以工作,但是当我使用另一个 viewController 添加一些新项目然后返回到此时,即使数组数量增加,高度也不会更新。

我在viewDidAppear中获取数组

有人可以帮助我吗?

  override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {

        
      print("called")        
        
           let misure = self.array.count
 
            let cellHeight = CGFloat(50.0 * Float(misure))
            
            print(cellHeight)
            print(misure, " misure")

            let section = indexPath.section
            let row = indexPath.row
            if section == 3 && row == 0{
                return 100.0
            }else if section == 4 && row == 0{
                return cellHeight + 60.0
            }
            return 44.0
        
        
    }

在viewDidLoad中我已经设置了

tableView.estimatedRowHeight = 44

最佳答案

我认为如果你调用tableView.layoutIfNeeded()应该会更好。这将更新任何处于挂起状态的布局更新。没有尝试用这个修改高度,但它应该可以工作。

关于swift heightForRowAt indexPath 不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46689028/

相关文章:

javascript - CSS 过渡高度

Javascript - 获取真实的字母宽度和高度(没有行高)

Swift: 'Hashable.hashValue' 作为协议(protocol)要求已被弃用;

ios - 我们如何将数据写入 firebase 实时数据库?尽管启用了读/写,但似乎不起作用

iOS11 键盘问题 - 键盘高度不正确

objective-c - 表格单元格字幕不显示

ios - 我如何使用 uitableview 单元格来执行 segue

google-apps-script - 确定 Google 电子表格中合并单元格的高度

ios - 使用 iOS App、Swift 获取设备/用户位置的问题

swift - iOSDropDown : Type 'UIResponder' has no member 'NSNotification'