首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何设置iPhone UIView z索引?

如何设置iPhone UIView z索引?
EN

Stack Overflow用户
提问于 2011-01-08 09:46:57
回答 7查看 226.4K关注 0票数 261

我想将一个视图移动到另一个视图的顶部,我如何知道视图的z索引,以及如何移动到顶部?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-01-12 06:42:11

UIView同级按其添加到其superview的顺序进行堆叠。UIView层次结构方法和属性用于管理视图顺序。在UIView.h中:

代码语言:javascript
复制
@property(nonatomic,readonly) UIView *superview;
@property(nonatomic,readonly,copy) NSArray *subviews;

- (void)removeFromSuperview;
- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index;
- (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex:(NSInteger)index2;

- (void)addSubview:(UIView *)view;
- (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview;
- (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview;

- (void)bringSubviewToFront:(UIView *)view;
- (void)sendSubviewToBack:(UIView *)view;

同级视图在subviews数组中从后到前排序。因此,最上面的视图将是:

代码语言:javascript
复制
[parentView.subviews lastObject];

底部视图为:

代码语言:javascript
复制
[parentView.subviews objectAtIndex:0];

正如Kolin所说,[parentView bringSubviewToFront:view]将把视图带到顶部,但只有当视图都是层次结构中的兄弟时才会出现这种情况。

票数 282
EN

Stack Overflow用户

发布于 2011-01-08 09:49:56

您可以使用视图的层(它是一个CALayer对象)的zPosition属性来更改视图的z索引。

代码语言:javascript
复制
theView.layer.zPosition = 1;

正如Viktor Nordling补充的那样,“大的值在上面。你可以使用任何你想要的值,包括负值。”默认值为0。

您需要导入QuartzCore框架才能访问该层。只需将这行代码添加到您的实现文件的顶部。

代码语言:javascript
复制
#import "QuartzCore/QuartzCore.h"
票数 338
EN

Stack Overflow用户

发布于 2011-01-08 09:54:43

代码语言:javascript
复制
[parentView bringSubviewToFront:view] ;
票数 75
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4631878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档