Xcode 约束将视图上的所有内容推到最顶部(导航栏后面)

Posted

技术标签:

【中文标题】Xcode 约束将视图上的所有内容推到最顶部(导航栏后面)【英文标题】:Xcode constraints is pushing everything on the view to the very top (behind navigation bar) 【发布时间】:2016-09-15 08:40:14 【问题描述】:

我希望有人可以在这里帮助我。我设置了我希望项目使用约束的位置,当我运行和构建应用程序时,它似乎将所有内容都推到了顶部。即使我没有对任何项目施加任何限制,也会发生这种情况。如果有帮助,我会附上图片。

【问题讨论】:

您的情节提要中有任何警告/错误吗? 我能看到的唯一不寻常的是“Main.storyboard:警告:不支持的配置:导航项中不支持普通样式” 【参考方案1】:

您是否尝试过将最顶层子视图的顶部约束设置为“顶部布局指南”,如此屏幕截图所示? (看起来您的 Top 约束是“Superview”!) http://i.stack.imgur.com/fpHAQ.png

【讨论】:

是的,这可能是问题所在。我怎么能解决这个问题?谢谢 根据下面 AMAN77 的回答,您可以先清除约束。屏幕右下角的方形约束按钮将打开一个弹出窗口,如下图所示:[1]:i.stack.imgur.com/Pdom0.png 您可以使用它来设置上/左/右/下填充的值,也可以用于项目自己的宽度和高度也是。希望这可以帮助! PS:如果这个答案有帮助,请不要忘记接受我上面的答案。谢谢! :)【参考方案2】:

确保您的视图被选中,点击右下角的三角形约束按钮并选择所有视图下的清除约束。 将视图放置在您想要的位置。然后为每个元素单击右下角的方形约束按钮并执行以下操作:

取消选中对边距的限制 销到顶部底部和两侧 检查宽度和高度

然后选择三角形并为所选视图选择更新帧。 通过选择要移动的视图并更新约束值来微调位置。

因为有时重新开始比尝试修复约束更容易。

【讨论】:

【参考方案3】:

我想出了一个解决办法。就顶部布局指南而言,Somal 走在了正确的轨道上。我只需右键单击每个单独的对象以拖动到视图上并选择垂直间距到顶部布局指南(参见图片),或者我可以简单地删除整个 ViewController 并从头开始,无需从旧视图复制和粘贴。

VerticalSpacingMenu-Image

【讨论】:

以上是关于Xcode 约束将视图上的所有内容推到最顶部(导航栏后面)的主要内容,如果未能解决你的问题,请参考以下文章

导航栏后退按钮将所有内容推到右侧

Xcode 6:按钮在所有设备上的图像视图中都停留在特定位置吗?约束?

Android 浮动视图(在其他视图之上)

如果两个 UITableView 被添加为屏幕上的子视图,导航栏只会折叠一个 UITableView

启用自动布局的 iOS 调整视图大小

如何防止 UINavigationBar 在 iOS 7 中覆盖视图顶部?