如何在自动布局中使用NSLayoutConstraints来最小化帧?

问题描述:

我正在从事autoLayoutiOS6。我想减少(最小化)UIView的尺寸(框架)。目前我的观点是320X480。我想让160X240保持中心地位。 新增NSLayoutConstraints(添加垂直和horizo​​natal空间,上海华盈),也采取了IBOutlets如下:如何在自动布局中使用NSLayoutConstraints来最小化帧?

@property (strong, nonatomic) IBOutlet NSLayoutConstraint *topSpace; 
@property (strong, nonatomic) IBOutlet NSLayoutConstraint *rightSpace; 
@property (strong, nonatomic) IBOutlet NSLayoutConstraint *bottomSpace; 
@property (strong, nonatomic) IBOutlet NSLayoutConstraint *leftSpace; 

我需要也适用宽度和高度的限制? 我应该如何使用它获得160X240的框架尺寸(保持中心点相同)?或者我错了。请指导我。

+0

你想在运行时更改视图的大小,或者你只是想编辑你有什么? – jrturton 2013-05-04 12:53:25

如果你真的想要一个固定的宽度和高度使用autolayout,那么我认为你需要添加这些约束。在您的故事板中,您可以固定视图的宽度和高度,将它们与您的控制器挂钩,就像您对上面的间距所做的操作一样,并且在准备就绪时设置约束的大小。为了保持中心点相同,您可能需要在故事板中添加另一个约束来将视图与其他约束对齐,但这取决于其他约束。

由于你有一些限制,而不是设置高度,你可以用10来手动计算并单独调整每一个 - 但是自动布局的全部要点是能够以某种方式描述你的视图之间的关系无论屏幕大小如何,都会解决问题。有了这个目标,我会敦促你考虑为什么你需要它是160x240,而不是使用固定的数字,表达它作为约束的原因。

下面是一个屏幕截图显示具有固定的高度和宽度使用自动布局一个中心的观点: autolayout screenshot sample