ios - 创建基于百分比的 iOS 布局

标签 ios interface-builder iphone-5

我正在尝试复制我目前在 Android 应用程序中拥有的布局,但我不知道如何在 iOS 中实现它,尤其是因为 iPhone 5 的高度。

我知道如何用“Android”术语来解释这一点,但过去几天我一直在尝试在 iOS 中执行此操作,但我无法让它正常工作。

最好的解释方式:

  1. 我想要两种布局。顶部布局必须占 40%,底部必须占 60%。
  2. 在顶部布局中,它们必须是三个按钮,尽可能填满所有空间(基本上是空间的 1/3)
  3. 在底部布局中,我想要一个 imageView,然后是一个 textView。

这是一个油漆模型。这可以在 iOS 中执行吗?我觉得布局比 android 更难创建。

enter image description here

最佳答案

使用 Xcode 6.0,您现在可以在 Interface Builder 中指定比例宽度或高度。 从 superview 获取百分比高度的步骤:

当 subview 和它的父 View 都被选中时,添加一个“等高”约束(如果您希望具有比例宽度,则添加“等宽”)。

enter image description here

然后将刚才添加的约束的“乘数”改成你需要的比例。例如,对于 50%,将其更改为 2。

如果你想将内部 View 指定为父 View 的百分比,你可以反转约束中的项目:

enter image description here

现在您可以使用 0.5 的乘数(或您需要的任何其他比例):

enter image description here

在您的特定情况下,您可以在 2 个 subview 之间定义“等高”约束,并将乘数更改为 1.5(底部是顶部大小的 1.5)或 0.6667(如果项目颠倒)。

另见 How to make constant auto-resize in Storyboard?

关于ios - 创建基于百分比的 iOS 布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18174980/

相关文章:

ios - 从 tableView.allowsMultipleSelectionDuringEditing = YES 选择行时如何防止蓝色突出显示

ios - 问题在 Swift 中使用 prepareForSegue 方法传递自定义单元格的内容

objective-c - xcode 基于页面的应用程序

objective-c - 将 Storyboard 更新到 iOS 6 并向后兼容

objective-c - 如何管理 iPhone 5 的背景图像?

ios - Swift/iOS - 在较小的屏幕上触发 ScrollView

objective-c - 在核心图形中颠倒文本

iphone - 本地化 Nib 无法在 iPhone 项目中工作

python - IBoutlet 与 PyObjC 和 Interface Builder

iphone - 一根 Nib ,不同的 Assets 。捆绑?