如何根据屏幕大小增加视图大小

时间:2014-12-17 04:19:13

标签: ios xcode interface-builder constraints

我一直在使用Xcode一段时间,我喜欢使用故事板,但自从引入更宽屏幕以来,我很难理解如何实现我想要的布局。

例1;

例如,假设我使用的是一个320x580的故事板,屏幕顶部有6个UIButton,每个都是40x40,均匀分布。

我想要实现的是按钮增加尺寸的能力,因为显示它们的屏幕会变宽。

我尝试过以不同的方式使用各种约束,绝对没有效果。

例2;

我有一个UITableview,一个320宽的单元格。我在那里放了一个覆盖整个牢房的UIView。 我将前导空间,尾随空间,顶部和底部固定,但如果我在更宽的屏幕上显示它,它总是320宽,即使我没有固定宽度!

如何使用自动布局和约束?在Xcode 5中它似乎更容易。

感谢您的时间。

2 个答案:

答案 0 :(得分:0)

示例1:

如果希望按钮变宽,则应对边缘和每个按钮之间进行约束,并使所有这些间距约束具有相同的大小(或者至少是按钮之间的所有间距约束)。如果您将所有按钮设置为相同尺寸但没有固定尺寸,则它们将间隔相等,并在更宽的屏幕上变大。

示例2:

我不知道你在这里做了什么,因为这应该有效,假设桌面视图本身固定在超视图的两侧。

答案 1 :(得分:0)

您可以将约束等于宽度作为superView。

var widthConstraint = NSLayoutConstraint(item: item, attribute: .Width, relatedBy: .Equal, toItem: self.view, attribute: .Width, multiplier: 1.0, constant: 0)
    self.view.addConstraint(widthConstraint);

您可以将约束等于高度作为superView。

        var heightConstraint = NSLayoutConstraint(item: label, attribute: .Height, relatedBy: .Equal, toItem: self.view, attribute: .Height, multiplier: 1.0, constant: 0)
    self.view.addConstraint(heightConstraint);

您可以更改乘数值以将widht和height约束更改为您的要求