如何在运行时获取 UITableView 的内容大小?

Posted

技术标签:

【中文标题】如何在运行时获取 UITableView 的内容大小?【英文标题】:How to get content size of UITableView in runtime? 【发布时间】:2017-06-15 12:28:57 【问题描述】:

我正在尝试在运行时获取 UITableView 的内容大小,我在其中处理库,当弹出视图时会执行一些移动,为此我在库中编写了这段代码以找出呈现的内容视图将是 UITableView:

if view.isKind(of: UIView.self) 
            for subView in view.subviews 
                for sv in subView.subviews 
                    if sv.isKind(of: UITableView.self) 
                        print(sv.frame.size.height)

这里我得到了表格视图,但我无法得到 contentSize 属性

                        print("table view found")
                    
                
            
        

任何提示如何获取其内容大小?!

【问题讨论】:

【参考方案1】:

使用强制转换而不是测试,以便编译器知道对象的属性:

if view.isKind(of: UIView.self) 
    for subView in view.subviews 
        for sv in subView.subviews 
            if let tableView = sv as? UITableView 
                print(tableView.contentSize.height)
            
        
    

【讨论】:

以上是关于如何在运行时获取 UITableView 的内容大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 tableView:(UITableView *)tableView heightForRowAtIndexPath 函数中获取单元格对象?

如何获取 Firestore 文档并在 UITableView 上显示它们

如何禁用 UITableView 上的左右滑动手势

如何快速获取UITableView中每个动态创建的行的textvalue

如何使 UITableView 与大标题 VoiceOver 兼容?

FRC 内容更改时的 UITableView 异常