【发布时间】:2017-04-17 11:01:25
【问题描述】:
我有一个 UITableViewCell,其中有一个嵌入式 UIStackView。一切正常,在手机和 iPad 上看起来都很好。但是,我在 StoryBoard 中遇到了很多奇怪的错误,我不知道我是否可以忽略它们。通常,我讨厌无视警告。但是在这种情况下可以吗?我的表格单元格设置如下:
UITableViewCell
- Content View
-- View (named outerView)
--- View (named dateView for top banner color)
--- UIStackView (vertical, named mainStackView, pinned to neighbors)
---- UIButton (A)
---- UIView (B)
---- UIStackView (C, horizontal)
---- UIStackView (D, horizontal)
---- UILabel (E)
---- UIButton (F)
mainStackView(字母 A-F)下的所有内容都在 StoryBoard 中显示错误,它们“需要约束:Y 位置或高度”。但是,根据 Apple documentation,它表示如果 UIStackView 是垂直方向,它们将处理所有约束和垂直对齐。就像我说的那样,它工作正常,并且排列的子视图可以折叠/隐藏,并且没有其他警告。我只是不喜欢发送充斥着警告的代码。我可以做些什么来解决这个问题,或者这是一个已知问题?
更新:这是下面评论要求的 MCVE。单击here 并解压缩文件夹以获取仅可在Interface Builder 中运行的基本项目。
【问题讨论】:
-
根据您与我们分享的内容,我无法重现您的问题。如果我们无法重现您的问题,则很难解决问题。也许您可以创建一个MCVE,即从空白项目开始,然后添加一个表格视图和单元格来重现您描述的警告。然后您可以与我们分享该项目。
-
@Rob - 我更新了它以包含 MCVE
-
您收到编译时警告还是运行时警告?我在 Xcode 8.1 (8B62) 中没有收到编译时警告。当我尝试运行它时,显然您没有包含视图控制器或单元类,但是当我添加它们时,它运行良好,但为了避免运行时警告,我将以下几行放入 @ 的
viewDidLoad987654327@ 子类:self.tableView.rowHeight = UITableViewAutomaticDimension; self.tableView.estimatedRowHeight = 222;. -
@Rob - 我有相同版本的 xcode。它们会导致编译时警告。运行时一切正常。这是我所看到的screenshot。
-
让我们看看是否有其他人可以重现这些警告,因为我没有看到它们。我可能会建议找到派生数据文件夹,退出 Xcode,清除该文件夹并重新启动 Xcode,以确保。但是如果你在你的主项目和你的 MCVE 问题中看到了这个,我并不乐观这会解决它。也可能重新启动。
标签: ios uistoryboard nslayoutconstraint uistackview