为了账号安全,请及时绑定邮箱和手机立即绑定

如何设置iPhone UIView z索引?

如何设置iPhone UIView z索引?

iOS
慕姐8265434 2019-10-05 11:08:41
我想将一个视图移到另一个视图上,如何知道该视图的z索引,以及如何移到顶部?
查看完整描述

3 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

UIView兄弟姐妹按照添加到其父视图的顺序堆叠。该UIView层次的方法和属性是有管理的视角次序。在UIView.h中:


@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阵列中排列为从前到后。因此,最上面的视图将是:


[parentView.subviews lastObject];

底视图将是:


[parentView.subviews objectAtIndex:0];

就像科林·克雷温克尔(Kolin Krewinkel)所说的那样,[parentView bringSubviewToFront:view]会将视图带到顶部,但这只有在视图都是层次结构中的所有同级对象时才是这种情况。


查看完整回答
反对 回复 2019-10-05
?
三国纷争

TA贡献1804条经验 获得超7个赞

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


theView.layer.zPosition = 1;

正如Viktor Nordling所说,“大价值放在首位。您可以使用任何想要的值,包括负值。” 默认值为0。


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


#import "QuartzCore/QuartzCore.h"


查看完整回答
反对 回复 2019-10-05
  • 3 回答
  • 0 关注
  • 497 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信