如何用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. ios - UIView覆蓋全屏幕,覆蓋從UITabBarController的標籤
- 2. 使用相機作爲覆蓋uiview iPhone
- 3. 覆蓋在UIView hitTest
- 4. 顯示UIView覆蓋?
- 5. 覆蓋的UIView的框架
- 6. 用黑暗UIView覆蓋屏幕保存電池電量?
- 7. IOS:創建全屏'覆蓋'UIView(Monotouch)
- 8. UIView覆蓋iPhone狀態/承載條
- 9. 全局覆蓋UIView setFrame
- 10. UIView在NSCache被覆蓋
- 11. UIViewController上覆蓋一個UIView
- 12. CGContext正在被UIView覆蓋
- 13. 用NavBar和TabBar覆蓋collectionViewController上的UIView
- 14. 如何設計和顯示UIView覆蓋
- 15. 我想用div覆蓋整個屏幕
- 16. Cordova覆蓋iPhone啓動屏幕
- 17. Android上的覆蓋屏幕
- 18. 使用View Swift部分覆蓋UIStatusBar
- 19. 用黑色矩形覆蓋屏幕?
- 20. 覆蓋所有位的覆蓋箱
- 21. 如何初始化UIView,使其覆蓋橫向模式的屏幕?
- 22. UIView的框架被隨機覆蓋
- 23. 覆蓋UIView頂部的動畫
- 24. 覆蓋屏幕刷新率
- 25. Android覆蓋屏幕底部
- 26. 覆蓋屏幕睡眠
- 27. 屏幕覆蓋截圖
- 28. android:覆蓋來電屏幕
- 29. 覆蓋來電屏幕?
- 30. 如何覆蓋默認呼叫屏幕?
這是可行的,只需使用UIWindow即可。我用我使用的方法添加了一個答案。 – Sahil 2010-04-25 03:38:46