XCode autolayout iOS9 - 在顶部栏下方和中间水平设置 TextLabel 几个像素

Posted

技术标签:

【中文标题】XCode autolayout iOS9 - 在顶部栏下方和中间水平设置 TextLabel 几个像素【英文标题】:XCode autolayout iOS9 - Styling TextLabel few pixels under top bar and horizontally in the middle 【发布时间】:2015-10-24 19:39:04 【问题描述】:

我刚刚创建了一个非常新的 ios 应用程序。从 iOS 6 开始就没有为 iOS 开发过。从那以后有 iPhone 6 和 6 Plus,Storyboard 自动布局是默认的。

我想要什么:我现在有一个默认的 ViewController(易于复制,新的单视图应用程序会将你放在那里),我只是在默认的空 ViewController/View 中添加了一个 TextLabel

我找到了如何水平对齐这个 TextLabel (XCode 7.1):

Aligining horizontally in the middle working on iPhone 4S-5-6-6+ this way

我没有找到:如何对齐相同的 TextLabel,例如比顶部栏(包括网络状态、电池图标等的栏)低 n 个像素的位置

n = 10 乘以 X(在 notplus 的情况下 X = 2,在 plus = 3 的情况下)

如果我将“垂直在容器中”设置为任何值,这是唯一允许的约束,如果它在 i6 的情况下位于顶部,则它会在较小的显示器的情况下离开屏幕。但我也想支持更小的显示器尺寸,同时不想只使用 iPhone 6/6Plus 的中间部分。

有没有简单的解决方案?如果没有,是否有任何硬性解决方案?

【问题讨论】:

【参考方案1】:

您可以在代码中通过创建约束的出口然后计算您想要的距离来执行此操作。 您也可以尝试添加一个约束“在 Superview 中垂直居中”,然后在约束设置中更改乘数。这将使您能够将 textLabel 定位在 topBar 下方的 10% 处。这可能会为您提供您正在寻找的结果。

【讨论】:

以上是关于XCode autolayout iOS9 - 在顶部栏下方和中间水平设置 TextLabel 几个像素的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Xcode 6.3 中使用 AutoLayout 创建 ScrollView

如何在 Xcode 中成功使用 AutoLayout 和 Constraints?

iOS9 Share Extension 无法在 Xcode 上调试

iOS9新特性——堆叠视图UIStackView

Xcode6中自动布局autolayout和sizeclass的使用

如何在相同大小的类中给出不同的约束(xcode 8 AutoLayout)