按比例自动布局缩放视图

我已经find了关于这个主题的几个问题和答案,但我根本无法得到这个为我工作。

缩放

蓝色矩形是包含“testing标签”和“齿轮图像”button的UIView。 红色的是第二个UIView。

我想要做的是让蓝色栏(这是一个UIView)的大型屏幕的大小,这将导致标签和设置button的缩放,而红UIView收缩的高度,所以蓝色UIView可以变得更大。 所以基本上问题是,如何按比例缩放不同的屏幕尺寸的UIViews。

我已经尝试使用宽高比约束,高度约束(大于/小于),但我不能达到预期的效果。

谢谢。

尝试按比例的高度和宽度。 您需要对等高和/或等宽设置约束条件,然后双击约束条件并将乘数例如为0.2,如果您希望将第一项设置为宽度的第二项的20%,将200设置为2.0(意味着双倍)的宽度。 使其按照您的要求按比例增减 在这里输入图像说明

你有两种方法可以做到这一点:

1.比例限制:

但是如果您为一个视图设置比例高度,则意味着视图会随着屏幕大小的每个小改变而改变。 例如,你的观点可以从4“到4,7”更大一些,但并不意味着这是一个坏主意。

为了使用该function只是检查Asadullah阿里的答案:)

2.使用大小类别:

如果您使用Xcode 6,则可以使用大小类别并仅为屏幕大小添加约束; 这并不难,使用,检查苹果文件 。

对于此function,您需要为Storyboard设置尺寸类别:

在这里输入图像说明

之后,你可以设置你的视图控制器像你想要的,并添加一个规则只是为其中一个类:

在这里输入图像说明

你可以告诉Xcode“好吧,如果屏幕大小是5,5,至less使用这个规则”。

请记住,要为特定的大小类添加约束,您首先需要select大小类,然后正常添加您的约束:当select大小类(可以检查大小类控件)时,Xcode仅为该类添加约束。

编辑1 :如果你有一些缩放字体和类似的麻烦,你也可以使用大小类function只是为了缩放标签的字体大小,例如; 在激活大小类别function后点击此选项可find此选项:

如何为一个尺寸类添加字体大小


我更愿意告诉你我所知道的关于你的问题的所有事情,但就你个人而言,我会使用第一种解决scheme :你的视图可以dynamic地改变屏幕大小。

你只需要find最好的比例百分比:你可以设置10%左右的比例,所以0.1乘数的第一项是蓝色视图,第二项是红色视图