如何用UIView覆盖UIStatusBar当我用UIView覆盖所有的屏幕?如何用UIView覆盖UIStatusBar当我用UIView覆盖所有的屏幕? (iPhone)
回答
如果你想创建类似UIAlertView
的效果,我认为你不能这样做。您可能会在http://bugreporter.apple.com处向Apple提交功能增强请求。
你能做的最好的事情是与隐藏状态栏:
[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO]
,并再次显示它时,你需要它。
你可以基本上removeFromSuperview
任何时候你想删除视图。
该API已被弃用。替换是'setStatusBarHidden:withAnimation:'。 – ThomasW 2013-07-31 10:39:32
我正在为如何做这个很长一段时间做斗争!终于找到它了:)关键是你的新窗口windowLevel设置为真高,所以它活在所有其他窗口/视图/状态栏等顶级:
UIWindow *keyWin = [UIApplication sharedApplication].keyWindow;
UIWindow *hudWindow = [[UIWindow alloc] initWithFrame:CGRectMake(0.0f, 0.0f, keyWin.frame.size.width, keyWin.frame.size.height)];
hudWindow.backgroundColor = [UIColor blackColor];
hudWindow.alpha = 0.60;
[hudWindow setWindowLevel:10000.0f];
[hudWindow setHidden:NO];
享受!
我挖了一点,发现windowLevel属性有一些常量表示某些级别: const UIWindowLevel UIWindowLevelNormal; const UIWindowLevel UIWindowLevelAlert; const UIWindowLevel UIWindowLevelStatusBar; 我发现UIWindowLevelStatusBar的窍门。 – Sahil 2010-04-20 00:56:22
请注意,如果您在应用程序启动时调用'keyWindow',则值可能为零。最好使用[[UIScreen mainScreen]边界]来获得窗口框架。 – ThomasW 2013-08-02 10:18:48
当键盘在屏幕上时,这不起作用。 – RaffAl 2014-03-25 14:04:48
不错,但我做了这两个改变。将UIWindowLevel添加到1.0仍然隐藏状态栏,我不知道为什么。
self.windowLevel = UIWindowLevelStatusBar+2.0f;
self.userInteractionEnabled = NO;
设置状态栏userInteractionEnabled属性为NO将确保您的滚动视图会滚动,当有人在此状态栏水龙头顶部。
- 1. 使用相机作为覆盖uiview iPhone
- 2. 覆盖的UIView的框架
- 3. 用黑暗UIView覆盖屏幕保存电池电量?
- 4. UIView覆盖iPhone状态/承载条
- 5. UIViewController上覆盖一个UIView
- 6. CGContext正在被UIView覆盖
- 7. 如何设计和显示UIView覆盖
- 8. Cordova覆盖iPhone启动屏幕
- 9. 使用View Swift部分覆盖UIStatusBar
- 10. 用黑色矩形覆盖屏幕?
- 11. 覆盖所有位的覆盖箱
- 12. 覆盖来电屏幕?
- 13. 覆盖屏幕刷新率
- 14. 屏幕覆盖截图
- 15. 覆盖UIView顶部的动画
- 16. 如何覆盖默认呼叫屏幕?
- 17. UIView initWithFrame覆盖视图高度
- 18. UIScrollView在3倍变焦UIView覆盖
- 19. 将UIView覆盖到Cocos图层上?
- 20. 在UIView上绘制覆盖图
- 21. 在UINavigationBar和UIViewController上覆盖一个UIView
- 22. 在旋转UIView时覆盖layoutSubviews
- 23. 在我现有的视图之上覆盖一个UIView?
- 24. iPad覆盖并不完全覆盖屏幕
- 25. 滑动UIView以部分覆盖另一个UIView
- 26. 用Python覆盖屏幕,用背景python脚本覆盖活动窗口
- 27. 覆盖覆盖?
- 28. 检测到屏幕覆盖 - 如何在屏幕覆盖应用程序中处理此问题
- 29. Iphone mapkit覆盖
- 30. 如何使视图覆盖尽管不同屏幕的屏幕
这是可行的,只需使用UIWindow即可。我用我使用的方法添加了一个答案。 – Sahil 2010-04-25 03:38:46