mat*_*eok 1 indexing xcode objective-c subview ios
我一直在尝试使用insertSubview:atIndex:在另一个子视图下插入子视图。问题是,大多数情况下,上面不是具有较高索引的视图,而是最后添加的视图。我注意到,如果我选择索引 0 和 1,这可以正常工作,但在我的情况下,一个视图至少需要位于索引 12 处,而另一个视图需要在上面。
下面是一些代码作为示例:
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];
Run Code Online (Sandbox Code Playgroud)
我知道我可以在按钮后插入标签,但这并不能解决我的问题。
我究竟做错了什么?
预先感谢您的帮助。
它不像 CSS 那样工作z-index——如果一个视图有k子视图,在任何高于 index 的索引处插入一个视图k与将它添加到 index 具有相同的效果k,或者换句话说,将它添加为最后一个(最前面的)子视图。子视图被维护为一个连续的列表,而不是一个任意索引的数组。在您的情况下,您可能没有 14 个子视图可以开始使用,因此在 13 处插入一个视图并在 12 处插入另一个视图不会产生您想要的效果。
| 归档时间: |
|
| 查看次数: |
3923 次 |
| 最近记录: |