【问题标题】:SWIFT UITableview set autoheight according to contents - XCode - iOSSWIFT UITableview 根据内容设置自动高度 - XCode - iOS
【发布时间】:2016-01-14 06:51:10
【问题描述】:

根据内容动态自动调整UITableView的高度。 我尝试了以下解决方案,但对我不起作用:

dispatch_async(dispatch_get_main_queue()) {
        //This code will run in the main thread:
        CGRect frame = self.tableView.frame;
        frame.size.height = self.tableView.contentSize.height;
        self.tableView.frame = frame;
    }

SOURCE

【问题讨论】:

    标签: ios xcode swift uitableview


    【解决方案1】:

    我遇到了同样的问题。我通过简单地将UITableView 内容高度传递给UITabelView 框架高度来解决它。

        func UITableView_Auto_Height()
        {
            if(self.UITableView.contentSize.height < self.UITableView.frame.height){
                var frame: CGRect = self.UITableView.frame;
                frame.size.height = self.UITableView.contentSize.height;
                self.UITableView.frame = frame;
            }
        }
    

    viewControllerviewDidAppear 函数中调用上述函数。

        override func viewDidAppear(animated: Bool) {
            UITableView_Auto_Height();
        }
    

    【讨论】:

    • 如果一个控制器上存在 2 个不同的表视图怎么办?
    【解决方案2】:
     BAD::if(self.UITableView.contentSize.height < self.UITableView.frame.height){
     GOOD::if(self.UITableView.contentSize.height > self.UITableView.frame.height){
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-23
      • 2017-12-17
      • 2016-03-13
      • 1970-01-01
      相关资源
      最近更新 更多