例如,在一个 UIView 上,从左到右有三个按钮:,button1,button2,button3。当按钮 1 变宽时,比如它的宽度变成原来宽度的两倍,是否有任何界面构建器方式可以使按钮 2 和 3 自动向右移动?
对不起,我没有把我的问题说清楚。
我的意思是这样的大小变化:我按下button1,然后我在我的代码中改变它的框架,而不是由butotn1中的文本变化引起的。我希望 button2&3 自动向右移动,保持按钮 1 和 2 之间间隙的宽度不变。
感谢大家。
我可能是错的,但我不知道你有什么方法可以在 IB 中做到这一点。不过,它在代码中非常简单,只需将按钮链接到一些 IBOutlets 并检查按钮图像的大小(myUIImage.size),然后调整按钮的框架(在 viewWillAppear 中进行)。
看到你的编辑 - 如果你正在使用代码调整它的大小,也调整它的位置。
IB 只能用于视图的初始定位。
没错,您还可以定义视图的自动调整大小掩码,仅此而已。
任何额外的布局都应该在代码中完成。
是的 - 通过使用自动调整蒙版。如果您允许边距灵活(没有将框架连接到超级视图框架的红线)并允许灵活的宽度和高度,则按钮将按比例调整大小和移动。
如果您的按钮在屏幕底部的一行中,请考虑使用UIToolBar
. 它的UIBarButtonItem
对象会自动调整以适应彼此的width
变化。对于更一般的情况,您需要按照 Franklyn Weber 的回答重新计算位置和大小。