在我的应用中,使用锁定屏幕。有时会显示UIAlertView
,现在当用户将应用程序发送到后台并再次将其显示在前面时,UIAlertview
会显示在锁定屏幕上方。是否有可能在所有内容之上添加UIViewController
视图,即在UIAlertView
之上?
答案 0 :(得分:5)
你应该喜欢这个
UIWindow *mySpecialWindowForLockScreen = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];
//"Hey iOS Please put this window above all alert view"
mySpecialWindowForLockScreen.windowLevel = UIWindowLevelAlert+100;
UIViewController *lockScreenViewController = [[UIViewController alloc]init];//Lock Screen
lockScreenViewController.view.frame = mySpecialWindowForLockScreen.bounds;
mySpecialWindowForLockScreen.rootViewController = lockScreenViewController;
// In lockScreenViewController view you can add lock screen images and other UI stuff
mySpecialWindowForLockScreen.rootViewController.view.backgroundColor = [UIColor greenColor];
[mySpecialWindowForLockScreen makeKeyAndVisible];
每当您想要隐藏LockScreen窗口时,只需通过setHidden隐藏它:是。
答案 1 :(得分:1)
有两种UIWindowLevel,最大的一种将显示在另一个窗口的上方。
所以我建议您使用UIWindow创建锁定屏幕,让它的窗口级别大于UIWindowLevelAlert
,
基本上,他们的价值观是:
UIWindowLevelNormal = 0.000000;
UIWindowLevel UIWindowLevelAlert = 2000.000000;
UIWindowLevel UIWindowLevelStatusBar = 1000.000000;
这就是警报视图显示在另一个窗口上方的原因。试一试。