我有一个UIView,我想在其中动态添加一些不同大小的'n'按钮,所以通常它们是线性添加的。我可以一次将所有按钮居中对齐吗?还是我必须计算来设置每个按钮的原点?
如果我必须进行计算,以下是我的想法:
算法:
- 计算具有原点的帧并添加一个按钮
- 将以前的按钮左移到计算的金额
- 重复
切换不同大小的按钮变得非常困难。
请告诉我是否有内置的方法可以让我居中对齐视图的所有子视图,或者我应该做一些数学运算。
我偶然发现了一些SOF链接,但很少有任何帮助
如果您希望这些按钮间隔均匀并在这种情况下居中对齐,您可以使用以下堆栈溢出问题链接
此代码将遍历视图的所有子视图,并设置x原点,使子视图居中:
for (UIView *view in yourView.subviews) {
CGRect newFrame = view.frame;
newFrame.origin.x = (CGRectGetWidth(myUIView.frame)-CGRectGetWidth(newFrame))/2;
view.frame = newFrame;
}