如何根据JSON内容设置UITableHeight?

时间:2018-01-10 04:14:56

标签: ios json swift uitableview

我对Swift和整个开发都相对较新。所以请善待我。 我有"FaceList"显示来自Facebook的UITableView数据。它包含用户管理的页面列表。我已经处理了显示数据但我无法根据表格内容调整表格的大小。 我问,因为我还没有通过其他类似问题找到解决问题的方法。

3 个答案:

答案 0 :(得分:1)

我的TableView

@IBOutlet weak var filterTableView: UITableView!

重新加载TableView时显示数据调用UITableView_Auto_Height Func 正如我在DidLoad中所说的那样

override func viewDidLoad() 
{
        super.viewDidLoad()    
        self.filterTableView.tableFooterView = UIView()
        filterTableView.delegate = self
        filterTableView.dataSource = self
        filterTableView.isScrollEnabled = false

        //here I called the function 
        UITableView_Auto_Height()
        //Reloading TableView
        filterTableView.reloadData()
    }

必需的功能

func UITableView_Auto_Height()
    {
        //Check for the content Size 
        if(self.filterTableView.contentSize.height < self.filterTableView.frame.height)
            {

            //if ContentSize is big set the frame 
            var frame: CGRect = self.filterTableView.frame;
            frame.size.height = self.filterTableView.contentSize.height;

            //Assign frame
            self.filterTableView.frame = frame;
        }
    }

在TableViews中重新加载数据时调用Required func

对于单元格自动尺寸,您可以在DidLoad

中仅编写这两行
self.filterTableView.estimatedRowHeight = 44 // for assumption
self.filterTableView.rowHeight = UITableViewAutomaticDimension

答案 1 :(得分:0)

要设置自定义单元格,只需将AutoLayout添加到单元格中,指定tableView的estimatedRowHeight,并将tableView的rowHeight设置为UITableViewAutomaticDimension(这将是未来XCode6版本中的默认设置)。

self.tableView.estimatedRowHeight = 49 // estimate height
self.tableView.rowHeight = UITableViewAutomaticDimension

答案 2 :(得分:0)

您需要为表格视图使用 UITableViewAutomaticDimension ,以便根据内容处理单元格高度。

但是为了使其正常工作 ,您需要对表格视图单元格使用适当的约束

自动尺寸将根据其从上到下的约束来计算单元格的高度,以便它可以达到预期的高度。

确保您已将约束正确应用于单元格子视图。

有关参考,请参阅thisthis