在iOS中我们需要将一个View
放在最上层,我们只需调用bringSubviewToFront:
方法即可,大致代码如下:
UIView *downView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
UIView *upView = [[UIView alloc] initWithFrame:CGRectMake(120, 120, 100, 100)];
downView.backgroundColor = [UIColor redColor];
upView.backgroundColor = [UIColor purpleColor];
[self.view addSubview:downView];
[self.view addSubview:upView];
[self.view bringSubviewToFront:downView];
这样就可以将downView移到最上层来。
但是在OS X中是没有这个方法的,OS X中有一个方法
- (void)addSubview:(NSView *)aView positioned:(NSWindowOrderingMode)place relativeTo:(NSView *)otherView
方法说明:
Inserts a view among the view’s subviews so it’s displayed immediately above or below another view.
参考文档已经说的很明显了,这个方法可以将一个View
放在上层或者下层。其中第二个NSWindowOrderingMode
类型的参数就是选择将View
放在哪里,参数为枚举类型,如下所示:
enum {
NSWindowAbove = 1,
NSWindowBelow = -1,
NSWindowOut = 0
};
typedef NSInteger NSWindowOrderingMode;
英文很直白,所以不再多说。
在OS X中需要将一个View
放在最上层,我们只需要调用
- addSubview:positioned:relativeTo:
方法即可。