首页 > 解决方案 > 向 UITableViewCell 添加了 Autolayout,但我看到了一个未知现象

问题描述

我在 UITableViewCell 中的项目中添加了自动布局,但出现未知错误。

使用 AutoLayout 添加的所有项目都将对齐到左上角。

如果我将 Auto Layout 添加到 General Label :在此处输入图像描述

构建结果后:常规标签移动到左上角 在此处输入图像描述

对于其他项目也是如此。

如果我将自动布局添加到 General, Total, Final Label : 在此处输入图像描述

没有与约束相关的代码。UITableviewCell 也没有代码。

在视图控制器中:

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 1
}

 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "ProcDetailMoreCell", for: indexPath) as! ProcDetailMoreCell

    return cell
}

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

我不知道为什么会这样。请帮我看看为什么会出现这些结果。

标签: iosswiftuitableviewconstraints

解决方案


您可以检查添加到标签的约束。因为约束具有优先级属性,并且与其他两个项目有关系。像这样:

在此处输入图像描述

所以我建议的第一件事是,您可以检查一下,或者提供有关此约束的更多信息。你可以测试一下:

  1. 删除常规标签的所有约束
  2. 只添加两个约束,一个是label.leading = cell.leading with offset,一个是label.top = cell.top with offset
  3. 检查结果是否正确。

给我的提示:如果您不知道为什么某些条件不正确,您可以将它们全部删除并重新添加。可能你会发现错误。


推荐阅读