【发布时间】:2013-11-04 21:25:52
【问题描述】:
我想在我的所有视图上添加一个黑屏,然后在其上方显示一个通知窗口,就像在 Tweetbot 3 中一样:
但是,我不完全确定这是如何实现的。
添加一个以屏幕大小为框架的暗视图不起作用,如下:(导航栏和状态栏没有被覆盖)
UIView *darkOverlay = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];
darkOverlay.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5];
[self.view insertSubview:darkOverlay behindSubview:self.view];
这涵盖了除了状态栏之外的所有内容(所以它非常接近,但由于我的状态栏内容很轻,它仍然非常刺耳):
[[[UIApplication sharedApplication] keyWindow] addSubview:darkOverlay];
那么这样的事情是如何完成的呢?
【问题讨论】:
-
这是一个不同的问题。那里的答案满足了我的需要,但我现在意识到视图可能会有一个导航栏,所以需求是不同的。
-
重读后也看不出区别。
-
能够在导航栏上添加视图与回答者和接受者的解释截然不同。这些解决方案有效,但不适用于需要覆盖导航栏的情况。
-
如果你被误解了,你可以编辑你之前的问题,如果它不能真正解决你的问题,你不必接受。
标签: ios objective-c uiview ios7