【问题标题】:Xcode 7.3 Autolayout IssueXcode 7.3 自动布局问题
【发布时间】:2016-06-09 08:35:10
【问题描述】:

自从我切换到 Xcode 7.3 后,我的生活就变成了人间地狱,因为 Xcode 开始在我的布局中显示自动布局约束问题,这些问题在 Xcode 7.2 中运行良好,即使经过大量搜索我也找不到解决方案。问题来了……

我正在尝试创建一个具有特定纵横比 (6:5) 的 UIImageView 的动态大小调整单元。图片下方是一个 1px 高的 UIView,显示为分隔符(由于某种原因,我不能使用默认分隔符,所以这是必须的)。以下是限制条件。

我假设有了这些约束,只要显示单元格,就可以动态计算单元格的高度。如果使用 Xcode 7.2 构建,这一切都非常简单并且按预期工作,但 Xcode 7.3 在运行时显示警告。

大多数情况下,视图显示完美,但在少数情况下,由于在运行时破坏了约束,视图被放置在它们的位置上。这是一个更普遍的问题,几乎所有我的 UITableViewCells 都发生了。这个特殊的例子是所有例子中最简单的。任何对自动布局有良好了解的人都不会在设置正确的约束时犯错……所以我的约束有什么问题,或者 Xcode 有什么问题,更重要的是如何解决这个问题?非常感谢任何帮助。

【问题讨论】:

  • 我能看到视图控制器代码吗?最后两个约束是系统约束。在 99% 的情况下,您会看到它们,这是因为您正在强制一些早期布局通过。

标签: ios xcode autolayout xcode7 ios-autolayout


【解决方案1】:

imageviewseparator view 上添加这样的约束

例如。在分隔视图上添加 4 个约束

  1. 领先
  2. 顶部
  3. 底部
  4. 身高

并在 imageview 上添加 5 个约束

  1. 领先
  2. 顶部
  3. 底部
  4. 身高
  5. 优先级为 750 的纵横比

您可以在从尺寸检查器添加纵横比约束后更改优先级

在 viewDidLoad 方法中添加此代码

  self.table.estimatedRowHeight =  304.0f;
  self.table.rowHeight = UITableViewAutomaticDimension;

现在所有错误都消失了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-14
    • 2015-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-11
    • 1970-01-01
    相关资源
    最近更新 更多