crz*_*777 17 objective-c ios ios7
我想添加一个覆盖整个屏幕的暗视图层.
为了做到这一点,我将UIView
对象添加到window属性,UIViewController
如下所示.我记得我能够window
在ios6中添加这样的视图.但是,它在ios7中不起作用.
我怎么能让它工作?
提前致谢!!
- (void)viewDidLoad
{
[super viewDidLoad];
UIView *overlayView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];
overlayView.backgroundColor = [UIColor blackColor];
overlayView.alpha = 0.8;
[self.view.window addSubview:overlayView];
}
Run Code Online (Sandbox Code Playgroud)
Gad*_*Gad 51
这是做你想做的事的一种方式:
[[UIApplication sharedApplication].keyWindow addSubview:overlayView];
Run Code Online (Sandbox Code Playgroud)
根据UIView的文档,如果视图尚未添加到窗口,则窗口属性为nil,这是调用viewDidLoad时的情况.
你可以做同样的事情 viewDidAppear:(BOOL)animated;
- (void)viewDidAppear:(BOOL)animated; {
UIView *overlayView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];
overlayView.backgroundColor = [UIColor blackColor];
overlayView.alpha = 0.8;
[self.view.window addSubview:overlayView];
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17111 次 |
最近记录: |