【问题标题】:Why does UITableView auto height not work when I navigate to the SideMenuController为什么导航到 SideMenuController 时 UITableView 自动高度不起作用
【发布时间】:2021-08-19 05:24:38
【问题描述】:

当我从我的应用程序中注销并跳转到 SideMenuController(它是一个位于侧面菜单下的库)时,表格视图高度在主页中不起作用。

实例化 ViewController:

let vC = self.storyboard?.instantiateViewController(withIdentifier: "SideMenuController") as! SideMenuController
        self.navigationController?.pushViewController(vC, animated: true)

设置表格视图高度:

@IBOutlet weak var spicesTableViewHeight: NSLayoutConstraint!

override func viewDidLayoutSubviews()
{
    super.viewDidLayoutSubviews()

    spicesTableViewHeight.constant = spicesTableView.contentSize.height
    spicesTableView.reloadData()     
}

最后,调用表视图委托:

func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
        return UITableView.automaticDimension
    }

【问题讨论】:

    标签: swift uitableview


    【解决方案1】:

    尝试同时添加heightForRowAt 方法:

    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return UITableView.automaticDimension
    }
    

    另外,请尝试在viewDidAppear 方法中使用layoutIfNeeded 方法,而不是reloadData 方法和viewDidLayoutSubviews

    override func viewDidAppear(_ animated: Bool) {
        spicesTableView.layoutIfNeeded()
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-25
      • 1970-01-01
      • 2020-09-23
      • 1970-01-01
      • 2021-09-17
      • 1970-01-01
      相关资源
      最近更新 更多