gpt4 book ai didi

ios - 自动居中 UIViews

转载 作者:行者123 更新时间:2023-12-01 19:09:10 25 4
gpt4 key购买 nike

我对 View 的水平位置有点坚持。
我在 View 容器中有很多 View (大于 subview 的总宽度)。

所有 View 必须水平居中。
如果 subview 被标记为隐藏(或 alpha 为零),则其他 View 的位置必须更改为再次居中。

你知道我该怎么做吗?

最佳答案

像这样的东西应该工作。我将容器传递给函数,确定所有可见 subview 的宽度,并从容器宽度和可见 subview 的宽度中获取 x 偏移量。从那里,您可以更新可见 subview 的框架,它们应该水平居中。

-(void)centerViews:(UIView*)container {
CGFloat width = 0.0;
for(UIView *view in container.subviews) {
if(view.alpha > 0.0) {
width += view.frame.size.width;
}
}

CGFloat xOffset = (container.frame.size.width - width) / 2.0;

for(UIView *view in container.subviews) {
if(view.alpha > 0.0) {
[view setFrame:CGRectMake(xOffset, view.frame.origin.y, view.frame.size.width, view.frame.size.height)];

xOffset += view.frame.size.width;
}
}
}

您必须更新它以包含 View 之间的任何填充。

关于ios - 自动居中 UIViews,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17794066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com