UITableView 自动维度无法正常工作

use*_*192 6 xcode ios swift uitableviewautomaticdimension

我有一个 tableview,其中填充了来自 Firebase 的数据。但是,在使用自动尺寸调整 tableview 的大小时,会显示一些文本被截断。

这是我的故事板,约束设置为顶部、底部、右侧和左侧。

在此处输入图片说明

当没有很多文本时,它工作正常,如图所示。

在此处输入图片说明

但是,当我用大量文本填充单元格时,就会发生这种情况。

在此处输入图片说明

这是我目前正在使用的代码。

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        if (tableView == questInformationTableView) {
            return 50
        }
        else if (tableView == questWalkthroughTableView) {

            return UITableView.automaticDimension
        }

        return 0
    }
    override func viewDidLoad() {
          super.viewDidLoad()
          questWalkthroughTableView.estimatedRowHeight = 250
          questWalkthroughTableView.rowHeight = UITableView.automaticDimension
        }

    func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
         return UITableView.automaticDimension
        }
Run Code Online (Sandbox Code Playgroud)

我还将 numberOfLines 设置为 0 并将标签设置为 .sizeToFit()

Ale*_*der 1

不要使底部约束大于或等于,只需将其设置为顶部约束即可。去掉estimatedHeightForRowAtheightForRowAt函数。您的视图确实加载声明就足够了。当您重新加载数据时还调用self.view.layoutIfNeeded