故事板约束(Xcode)

Posted

技术标签:

【中文标题】故事板约束(Xcode)【英文标题】:storyboard constraints (Xcode) 【发布时间】:2016-04-16 21:34:55 【问题描述】:

我是编程新手,我正在尝试使用 Xcode。我没有经验。我正在尝试用 Xcode 制作一个应用程序。我已经完成了代码,唯一的问题是故事板约束。我需要有人可以帮我设置它们。

所以,如图所示,我有 28 个按钮,我想保持 65x65 像素的大小。这意味着它们之间的距离应该在不同的设备尺寸(4英寸、4.7英寸和5.5英寸)中有所不同。我还应该提一下,我希望它仅在纵向视图中且仅适用于 iPhone。我希望有人能提供帮助,因为我对此很陌生,我在互联网上搜索了很多,但我做不到它。

【问题讨论】:

【参考方案1】:

UIStackView (ios 9+)

UIStackView 是在 iOS 9 中引入的,这对您的情况非常有用。

编辑:在开始之前,请确保将 size classes 设置为 w Any, h Any,这会让事情变得更容易。

    要使用此功能,请在实用程序面板中搜索 UIStackView

    Vertical Stack View 拖放到您的视图控制器的视图上并设置约束,使其跨越整个屏幕。

    选择我们刚刚放置的堆栈视图并将分布设置为Fill Equally

    Horizontal Stack View 拖放到垂直位置。 选择横向的,设置分布为Fill Equally。 将您的按钮放在Horizontal Stack View

    根据您想要的行数多次复制和粘贴水平堆栈视图。

就是这样。

您可以控制按钮的背景图像以使其更小(65 像素),或者您可以将视图放置为其父视图,然后水平/垂直对齐以将其放置到中心,如下所示:

方向

如果您想在整个应用中锁定方向,请转到项目的设置。

示例项目

我为这个问题做了一个示例项目,你可以在这里查看:https://github.com/cyhsutw/UIStackView-example

【讨论】:

您好,感谢您的帮助!我试图按照您在此处显示的方式进行操作,但不知何故,结果并不正确。你可以在图片中看到。我还从 github 下载了你的项目,它也有同样的问题。 s24.postimg.org/gzpebqapx/… 和 s22.postimg.org/4ej518bip/…,故事板预览显示的内容与模拟器不同,这很奇怪。 抱歉犯了一个愚蠢的错误。问题是关于尺寸等级的,看起来约束是为特定的尺寸等级设置的,而不是所有的尺寸等级。要为所有尺寸类安装约束,请确保选中此选项imgur.com/ErSr2te。我已经更新了示例项目,您介意再查看一下吗? 现在我得到了我想要的,非常感谢! 你能看看我的新帖子吗?

以上是关于故事板约束(Xcode)的主要内容,如果未能解决你的问题,请参考以下文章

Xcode故事板 - 大于或等于约束不起作用

Xcode 故事板上的并排约束

如何在 Xcode 11 故事板中查看祖先和后代的约束?

水平对齐在 Xcode 故事板中不被视为 X 位置约束吗?

ios xcode 电容器故事板约束以停止状态栏挂在 web 视图的顶部

将图像限制在 Xcode 故事板上的屏幕边缘