我想把一个视图移到另一个视图的上方,我怎么知道视图的z索引,以及如何移到顶部?


当前回答

或者用这个

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

根据这里

其他回答

或者用这个

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

根据这里

你可以使用视图层的zPosition属性(它是一个CALayer对象)来改变视图的z-index。

theView.layer.zPosition = 1;

正如维克多·诺德林(Viktor Nordling)补充的那样,“大价值是最重要的。你可以使用任何你想要的值,包括负值。”缺省值为0。

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

#import "QuartzCore/QuartzCore.h"
[parentView bringSubviewToFront:view] ;

如果你正在使用cocos2d,你可能会看到[parentView bringSubviewToFront:view]的问题,至少它不适合我。我没有把我想要的视图放到前面,而是把其他视图放到后面,这样就成功了。

[[[CCDirector sharedDirector] view] sendSubviewToBack:((UIButton *) button)]; 

在你想要放到顶部的视图中… (迅速)

superview?.bringSubviewToFront(self)