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

推荐答案

UIView个同级按其添加到superview的顺序堆叠.UIView个层次 struct 方法和属性用于管理视图顺序.在我看来.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 Krevinkel所说,[parentView bringSubviewToFront:view]会将视图置于顶部,但只有当视图都是层次 struct 中的同级视图时,情况才会如此.

Ios相关问答推荐

如何以最可靠的方式删除文本视图中的额外页边距?

SWIFT-仅解码感兴趣的元素

Flutter应用内购买无法恢复购买

SwiftUI:.toolbar 不适用于 UITextView

如何删除点击时按钮的不透明动画?

当任何 TextEditor 有多于一行时,所有 TextEditor 都会调整大小

在自定义 ButtonStyle 中修改形状 colored颜色

更改图标会导致 SwiftUI 动画出现故障?

NSOperation 有延迟 - 它是异步的还是同步的?

FileHandle 不会在 iOS 中释放内存

'DismissAction'类型的值没有成员'wrappedValue'在SwiftUI的Xcode中

如何在不支持并发的自动关闭中修复'async'调用?

如何 comments .plist 文件中的行?

iPhone 6 和 6 Plus 媒体查询

动画 UILabel 字体大小更改

在 Grand Central Dispatch 中使用 dispatch_sync

如何在 iPhone 中为透明的 PNG 图像着色?

UIView 和 initWithFrame 以及一个 NIB 文件.如何加载 NIB 文件?

从 WKWebView 获取所有 cookie

从 iOS/Android 上的 Web 应用调用本机日期 Select 器