如何使用xcode 6中的通用故事板为uiview的宽度适合父视图的宽度和iphone和ipad的一些填充?

xia*_*woo 10 storyboard uistoryboard universal-storyboard

我正在学习xcode 6中的约束和Universal Storyboard,并且在这里遇到一些困难.

使用Universal Storyboard,我的目标是创建一个完美适合iPad模拟器(768 x 1024)和iPhone 4模拟器(_ x _)的UIView,左边和右边可以说50像素填充或边距.

目标应如下所示:

在此输入图像描述

我正在使用通用故事板和自动布局,我在预览中得到以下结果 在此输入图像描述

到目前为止我所做的只是将UIView拖入Universal Storyboard编辑器,然后给它一个填充iPad Screen的宽度(768),然后应用width = 768,height = 200约束和约束到center水平和约束垂直居中.

观察结果:

iPad屏幕完美填充宽度.然而,仔细看看我的iPhone屏幕(图1),UIView(绿色)的宽度不会填充到父级(其宽度远大于其父宽度)

问题:

问题1)有没有办法使用Universal Storyboard创建一个UIView,在iPad和iPhone上将其宽度填充到其父UIView?

问题2)如果问题1可以实现,那么如何在绿色UIView中左右添加填充或边距?

谢谢,并感谢任何建议,意见或意见.

Mik*_*e S 11

width您希望查看Leading SpaceTrailing Space约束,而不是使用约束.

您需要Leading Space从绿色添加约束UIView到其superview并将该约束的常量设置为您想要的边距(50),然后执行相同的操作Trailing Space.您应该按原样保留heightcenter vertically约束,但是您可以删除center horizontally约束,因为Trailing SpaceLeading Space约束将处理您的视图居中.

最终应该看起来像这样:

约束布局和预览 UIView约束设置

  • @xiaowoo,你什么时候打印框架?如果你在`viewDidLoad`中,在类似的某个地方,在视图布局并显示在屏幕上之前,那么它将具有任何大小(如果在故事板中定义). (4认同)
  • 对.您基本上想要添加看起来与您问题中的图表上绘制的"50px"线条完全相同的约束.自动布局可以从那里计算出宽度.(您可以通过控制 - 从UIView水平拖动到包含视图来轻松地在IB中添加前导/尾随空间约束.)顺便说一下,自动布局上的WWDC视频非常出色,并且有很多关于如何使用的提示*添加/查看约束. (2认同)