在 UIView 中动态居中对齐多个不同大小的 UIButton
Posted
技术标签:
【中文标题】在 UIView 中动态居中对齐多个不同大小的 UIButton【英文标题】:Center align multiple UIButtons of varying sizes, dynamically in a UIView 【发布时间】:2015-10-26 12:15:22 【问题描述】:我有一个 UIView,我想在其中动态添加一些不同大小的“n”按钮,所以通常它们是线性添加的。我可以一次将所有按钮居中对齐吗?还是我必须计算来设置每个按钮的原点?
如果我必须进行计算,这是我想到的:
算法:
-
用原点计算框架并添加一个按钮。
左移上一个按钮到计算的数量
重复
改变大小不同的按钮变得非常困难。
请让我知道是否有内置方法可以让我居中对齐视图的所有子视图,或者我应该做一些数学运算。
我偶然发现了一些 SOF 链接,但很少有任何帮助
【问题讨论】:
***.com/questions/33016648/… 这可能会有所帮助 如果您想自己进行计算,使用center
属性似乎是最短的方法,否则您可能需要使用自动布局。
我建议你使用 AutoLayout。
@shial:你能帮我提供一些从哪里开始的链接吗?还有很少的输入我将如何做到这一点。
@Masood 学习教程 raywenderlich.com/115440/… itunesu.itunes.apple.com/WebObjects/LZDirectory.woa/ra/…
【参考方案1】:
如果您希望这些按钮均匀分布并在这种情况下居中对齐,您可以使用以下堆栈溢出问题 Link
【讨论】:
【参考方案2】:这段代码将遍历一个视图的所有子视图,并设置 x 原点,使子视图居中:
for (UIView *view in yourView.subviews)
CGRect newFrame = view.frame;
newFrame.origin.x = (CGRectGetWidth(myUIView.frame)-CGRectGetWidth(newFrame))/2;
view.frame = newFrame;
【讨论】:
以上是关于在 UIView 中动态居中对齐多个不同大小的 UIButton的主要内容,如果未能解决你的问题,请参考以下文章
如何在容器(UIView)内居中对齐 2 个 UIView,而不将它们放在 UIView 内