Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 自动布局:视图的相对缩放_Ios_Swift_Autolayout - Fatal编程技术网

Ios 自动布局:视图的相对缩放

Ios 自动布局:视图的相对缩放,ios,swift,autolayout,Ios,Swift,Autolayout,我希望在不同的屏幕上获得一致的视图。我的布局约束在小屏幕上工作得很好,但在大屏幕上却会出现混乱 我创建了一个视图(红色边框表示该视图),并将其固定到主超级视图中。然后我创建了子视图,并将其放在该视图中。我已经固定了布局的上下后缘和前缘,其中包含其父视图的按钮(红色边框表示该视图)。包含视图的按钮在小屏幕(iPhone5)中看起来像这样 当它在这样的大屏幕上观看时(iPhone 6及以上) 我希望这个布局在所有屏幕上都像其他视图一样具有相同的相对高度。如何实现这一点?如果子视图的高度不变(按钮

我希望在不同的屏幕上获得一致的视图。我的布局约束在小屏幕上工作得很好,但在大屏幕上却会出现混乱

我创建了一个视图(红色边框表示该视图),并将其固定到主超级视图中。然后我创建了子视图,并将其放在该视图中。我已经固定了布局的上下后缘和前缘,其中包含其父视图的按钮(红色边框表示该视图)。包含视图的按钮在小屏幕(iPhone5)中看起来像这样

当它在这样的大屏幕上观看时(iPhone 6及以上)


我希望这个布局在所有屏幕上都像其他视图一样具有相同的相对高度。如何实现这一点?

如果子视图的高度不变(按钮视图除外),则布局将与第一张图中提到的一样。如果该按钮视图的高度不变,则问题将得到解决

我猜您可以使用UIView,其中包含一个按钮,并设置底部、引线、尾随,UIView的顶部约束。然后,您可以设置该UIView的高度约束,并将乘数值设置为相对于其superView的高度(=红色框)。最后,您可以根据需要在UIView中为按钮设置约束。如果您知道如何使用StackView,我建议您使用它,因为它是一个简单易行的解决方案。StackView非常好。

这些视图是tableview/collectionview的一部分,还是4个大小相同的视图相邻?它们都是垂直排列的独立视图,您尝试过UIStackView吗?先生,我尝试过堆栈视图,但实际上我对iOS不太熟悉;这就是为什么我没有得到我想要的结果want@OsamaBinBashir试着看看这个答案,这里有一个很好的例子,如何根据其他视图获得高度。你能提供一个示例代码吗?这将有助于更好地理解。对于线性布局,即如果视图垂直排列,则每个视图,如果你想要固定高度,你必须为主视图下的每个子视图设置一个恒定的高度。通过查看你的图像,我猜你没有为按钮子视图设置一个恒定的高度。堆栈视图为我完成了这个技巧。谢谢,伙计:D该教程也很有帮助完整:D