0

例如,在一个 UIView 上,从左到右有三个按钮:,button1,button2,button3。当按钮 1 变宽时,比如它的宽度变成原来宽度的两倍,是否有任何界面构建器方式可以使按钮 2 和 3 自动向右移动?

对不起,我没有把我的问题说清楚。

我的意思是这样的大小变化:我按下button1,然后我在我的代码中改变它的框架,而不是由butotn1中的文本变化引起的。我希望 button2&3 自动向右移动,保持按钮 1 和 2 之间间隙的宽度不变。

感谢大家。

4

4 回答 4

1

我可能是错的,但我不知道你有什么方法可以在 IB 中做到这一点。不过,它在代码中非常简单,只需将按钮链接到一些 IBOutlets 并检查按钮图像的大小(myUIImage.size),然后调整按钮的框架(在 viewWillAppear 中进行)。

看到你的编辑 - 如果你正在使用代码调整它的大小,也调整它的位置。

于 2012-04-11T13:58:00.140 回答
1

IB 只能用于视图的初始定位。

没错,您还可以定义视图的自动调整大小掩码,仅此而已。

任何额外的布局都应该在代码中完成。

于 2012-04-11T13:55:00.563 回答
0

是的 - 通过使用自动调整蒙版。如果您允许边距灵活(没有将框架连接到超级视图框架的红线)并允许灵活的宽度和高度,则按钮将按比例调整大小和移动。

于 2012-04-11T14:00:51.160 回答
0

如果您的按钮在屏幕底部的一行中,请考虑使用UIToolBar. 它的UIBarButtonItem对象会自动调整以适应彼此的width变化。对于更一般的情况,您需要按照 Franklyn Weber 的回答重新计算位置和大小。

于 2012-04-11T22:42:51.397 回答