【问题标题】:Split View into four Subviews with 25% width将视图拆分为四个宽度为 25% 的子视图
【发布时间】:2016-01-13 13:57:43
【问题描述】:

我想插入 4 个子视图,宽度正好是 SuperView 的 25%。

那么,我的问题是如何使用 XCode 的自动布局来实现这一点?在 Android 中,我会使用 GridLayout 或 LinearLayout...

提前致谢

【问题讨论】:

  • 使用等宽约束
  • 是的,但至少其中一个必须是超级视图的 25%,对吧?
  • 是的......如果你给它相等的宽度,它会自动调整 4 个视图的宽度
  • 不,只是为所有子视图设置“等宽”约束。应自动计算 25%。

标签: ios xcode autolayout


【解决方案1】:

只要像这张图片一样设置你的约束,你会得到你想要的

这是不同屏幕尺寸的预览

【讨论】:

    【解决方案2】:

    您必须选择所有四个视图,并将顶部、底部、左侧、右侧约束添加为零和等宽约束。

    您的约束应该如下所示。

    在屏幕截图中,四个视图排列在一个容器视图上。如果您不想要容器视图,那么您还必须指定高度约束。

    【讨论】:

      【解决方案3】:

      您应该使用 ios9 和 xcode 7.0 中引入的 UIStackView

      这是教程的链接,看看它就像 android 中的线性布局

      http://code.tutsplus.com/tutorials/ios-9-getting-started-with-uistackview--cms-24193

      还有很多其他方法,因为这是新方法,它有助于减少工作和时间,所以你应该使用它。谢谢

      【讨论】:

      • 使用自动布局你应该选择 4 个视图并将它们分配给相等的宽度,而不是通过创建它的参考插座并分配该插座来为任何视图分配宽度,例如 view1WidthOutlet.constant = self.superView.frame.size.width/4 ; ,它会自动将所有视图转换为相同的宽度,或者你应该使用 uicollectionView
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-14
      • 1970-01-01
      • 2016-10-11
      • 1970-01-01
      相关资源
      最近更新 更多