[問題] 如何讓UIAlertController顯示在前面

作者: tonyshan (Iamyourfather)   2015-01-25 19:36:03
在AppDelegate 想做出錯誤時白色背景(whiteView)前面放UIAletController的dialog
但不管怎麼改都是whiteView在UIAlertController上面
如果把whiteView用sendSubviewToBack背景又會變成viewController的畫面
雖然把UIAlertController改成用UIAlertView可以解決這個問題
不過有很多method想用UIAlertController去執行
以下簡單的原碼=>
#import "AppDelegate.h"
@interface AppDelegate ()
@end
@implementation AppDelegate
- (void)applicationDidBecomeActive:(UIApplication *)application {
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
// a為flag
//[self alert_Dialog:@"0"]
[self alert_Dialog:@"0"];
}
-(void)alert_Dialog :(NSString *)str
{
//_window.rootViewController = [[UIViewController alloc] init];
if ([str isEqualToString:@"1"]) {
NSLog(@"OK");
}else{
UIAlertController *alert =
[UIAlertController alertControllerWithTitle:@"錯誤" message:@"error" preferredStyle:UIAlertControllerStyleAlert];
[alert addAction:[UIAlertAction actionWithTitle:@"確定" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
//按下"確定"後結束程式
exit(1);
}
]];
//白色背景
[self whiteView];
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
}
}
-(void)whiteView
{
CGRect rect1 = [[UIScreen mainScreen] bounds];
UIView *myView = [[UIView alloc] initWithFrame:rect1];
myView.backgroundColor = [UIColor whiteColor];
[self.window addSubview:myView];
}
@end
===================================================================
謝謝
作者: darktt (小朱)   2015-01-25 20:38:00
presentViewController之後已經是不同的viewController了所以key window會跟著換一個呃,好像搞錯了,應該是你不能在self.window上加viewwindow的view的優先層級比rootViewController還要高,所以永遠會在最上方
作者: howdiun (Howdiun)   2015-01-26 10:24:00
1. 抓出currentViewController 2.用UIAlertView
作者: uranusjr (←這人是超級笨蛋)   2015-01-26 11:05:00
UIAlertView 已經被 deprecated 了, 不要用
作者: tentenlee (天天)   2015-01-26 13:09:00
要支援IOS7 不能用UIALERTCONTROLLER吧?
作者: nobody1 (無事家中坐)   2015-01-26 15:53:00
推樓上 還要並行一段時間再修整

Links booklink

Contact Us: admin [ a t ] ucptt.com