gpt4 book ai didi

objective-c - Xcode - insertSubview :atIndex: not working as I expected it to

转载 作者:行者123 更新时间:2023-12-01 18:32:22 25 4
gpt4 key购买 nike

我一直在尝试使用 insertSubview:atIndex:在另一个下插入 subview 。问题是大多数时候不是上面索引较高的 View ,而是最后添加的 View 。我注意到,如果我选择索引 0 和 1,这可以正常工作,但在我的情况下,一个 View 需要至少在索引 12 处,而另一个 View 需要在上面。

以下是一些代码作为示例:

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(20, 100, 100, 100)];
label.text=@"LABEL";
[label setBackgroundColor:[UIColor whiteColor]];
[self.view insertSubview:label atIndex:13];
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame=CGRectMake(20, 100, 100, 100);
[btn setBackgroundColor:[UIColor whiteColor]];
[self.view insertSubview:btn atIndex:12];

我知道我可以在按钮之后插入标签,但这并不能解决我的问题。

我究竟做错了什么?

预先感谢您的帮助。

最佳答案

它不像 CSS z-index 那样工作—如果一个 View 有 k subview ,在高于 k 的任何索引处插入 View 与在索引 k 处添加它的效果相同,或者,换句话说,将其添加为最后一个(最前面的) subview 。 subview 被维护为一个连续的列表,而不是一个任意索引的数组。在您的情况下,您一开始可能没有 14 个 subview ,因此在 13 处插入一个 View ,在 12 处插入另一个 View 不会产生您想要的效果。

关于objective-c - Xcode - insertSubview :atIndex: not working as I expected it to,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7324906/

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