iOS-UIAutoresizingMask边距:为什么我需要设置两边?

iOS-UIAutoresizingMask边距:为什么我需要设置两边?,ios,autoresizingmask,Ios,Autoresizingmask,我的问题可能看起来很奇怪,但举个例子更容易理解: 我创建了一个UIButton,然后: // [...] Create button, add it to view myButton.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin; 如果我没有指定UIViewAutoResizingFlexiblerRightMargin,我的组件在屏幕上的x比率将不

我的问题可能看起来很奇怪,但举个例子更容易理解:

我创建了一个UIButton,然后:

// [...] Create button, add it to view
myButton.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin;

如果我没有指定UIViewAutoResizingFlexiblerRightMargin,我的组件在屏幕上的x比率将不正确。为什么?我指定了左边距,所以当我旋转设备时,我的元素应该处于良好的位置。。。不理解右边距的需要。

当您同时使用两个灵活的边距时,宽度的变化将在两个边距之间分割。这通常用于保持视图居中


当您仅使用一个柔性页边距时,宽度的更改将全部应用于该柔性页边距。这意味着无论宽度如何变化,另一个边距都保持不变。

仍然无法获得它。如果我有我的按钮在32像素为我的肖像用户界面。剩下10%,对吗?当我旋转并且只设置左边距时,对于横向用户界面来说,这根本不是10%的左边距。由于右边距不灵活,它将保持与纵向用户界面相同,这使得不平衡。。。谢谢:)不是百分比,是绝对分数。这样想吧。如果你只有“灵活的左撇子”,那就认为它实际上是“固定的右撇子”。右边距是固定的。随着宽度的变化,右边距保持不变。对灵活的左边距进行任何调整。