【问题标题】:What must I do to add a constraint to a view in a Storyboard launch file?我必须怎么做才能将约束添加到 Storyboard 启动文件中的视图?
【发布时间】:2016-10-29 11:00:49
【问题描述】:

我添加了一个 Storyboard 启动文件以将项目从 iOS 4 升级到 iOS 9。该应用程序在模拟器中运行,但我所做的任何操作都不会使 iPhone5 和 iPhone 6 的视图居中或缩放它们以填充框架。相反,它们看起来像是固定在屏幕左上角的 iPhone 4 的盆景版本。

当我尝试按照the procedure described here 添加约束以使视图居中时,菜单不会为我提供选择我需要约束的视图的选项。

相反,我得到了这个。

最后两个 - Horizontally in ContainerVertically in Container - 是我可以检查的唯一选项。但是下拉文本框右侧的箭头只会给出Add Constraints所需的一些选项

我需要做什么才能启用查看选项?

编辑 1。

此外,当我尝试限制宽度和高度时,我得到了这个

所有六个选项都是灰色的,并且没有一个文本框发生变化

编辑 2.

并且使用 Size Inspector 查看我试图居中填充的视图,该视图没有如下所示的约束。

确实开始看起来没有简单的方法来启动以编程方式创建视图并让 Storyboard Launch 自动布局视图以适应不同 iPhone 屏幕尺寸的旧应用程序。

【问题讨论】:

  • 您还需要为视图提供宽度和高度约束。
  • 做一件事,从你的子视图到你的超级视图,按下 ctrl 拖动鼠标,你可以让你的子视图水平和垂直居中到你的超级视图
  • @Teja Nandamuri,宽度和高度约束有同样的问题(见我的编辑)
  • @Anjali Bhimani,我需要澄清一件事。我的原始代码没有使用故事板或 Xib 文件,而是以编程方式创建的,即由带有 multiviewViewController 委托的 multiviewViewController 切换的多个视图。所以我会假设superview是multiviewViewController。还是我创建 Storyboard 启动文件时 Xcode 添加的 ViewController 加载的视图?
  • superview 是您在其中添加子视图的视图,就像它的父视图一样

标签: ios objective-c iphone storyboard


【解决方案1】:

“Horizo​​ntally in Container”和“Vertically in Container”复选框会影响各个视图。是“二元运算”。如果您选择多个视图,这些复选框会导致所有视图在其容器中居中。

相比之下,此弹出窗口中的其他复选框对齐视图组。

例如,如果您选择 4 个视图并单击“前沿”,则它会创建一组约束,将所有选定视图的前沿对齐。 (在幕后,它创建了足够多的约束对,以将所有视图按其前沿排列。)

如果您只选择了 1 个视图,则只有底部的 2 个复选框(“在容器中水平”和“在容器中垂直”)是有意义的,其他的会变暗。一旦您选择了多个视图,则应启用其他视图。

【讨论】:

  • @邓肯,你说的很有道理。 “在容器中水平”和“在容器中垂直”是对话框允许我检查的唯一选项。这是我检查它们的唯一原因。
  • 好的...所以如果这不是您想要的,您需要删除这些约束。如果您想通过前/后/上/下边缘或中心对齐 2 个或更多视图,您需要在 IB 中选择 > 1 个项目,然后再次弹出该弹出窗口。这能回答你的问题吗?
  • 我没有选中这两个约束。如何删除它们?还是我需要在 Interface Builder 中执行此操作?
  • 你需要阅读一下Interface builder。如果您选择一个视图,然后单击检查器列顶部的“尺寸检查器”图标,尺寸检查器将列出附加到该视图的约束。然后您可以选择约束并点击删除键。
  • 您还可以在 IB(Interface Builder)“文档大纲”中查看/选择/删除约束。
【解决方案2】:

选择您要约束的视图。然后点击您选择的按钮右侧的按钮,并使用该菜单定义您的自动布局约束。如果您希望它适用于所有设备,请确保您的故事板设置为 wAny hAny 大小类设置。

【讨论】:

  • @ Max,但对话框不允许我选择我想约束的视图。或者你的意思是我应该在其他地方选择这个?
  • 您可以在情节提要本身中选择对象。
【解决方案3】:

我遇到了同样的问题,因为在显示尺寸检查器 > 布局时,选择了“自动调整蒙版”,通过更改“推断(约束)”的值,它将解决这个问题 illustration

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 1970-01-01
    • 2017-12-25
    相关资源
    最近更新 更多