UIAlertView を UIAlertController で置き換えたら不具合が発生
非推奨のAPIを使っていて新しいiOSで不具合が出たよ・ω・!
これの続き、
単に、UIAlertView を UIAlertController で置き換えたら いいのかと思ったら、そうはいかなかったよ。
というのは、UIViewController のサブクラスになってしまったため 今までになかった制約が出てきて、表示できなくなることがあるからでした
"whose view is not in the window hierarchy!" が出たり、それすらでなかったり・・・。
色々に多様な事例が起こってるのでコード試したけど、殆どダメでした・ω・
{ // UIViewController *vc = [UIApplication sharedApplication].keyWindow.rootViewController
[alertWin release]; }]];
if (windowId != nil) { alertWin.rootViewController = [[UIViewController alloc] init]; alertWin.windowLevel = UIWindowLevelAlert + 1; [alertWin makeKeyAndVisible]; [alertWin.rootViewController presentViewController:alert animated:NO completion:nil];
} else { [vc presentViewController:alert animated:NO completion:nil]; } |
苦肉の策で書いたコードがこれ
めんどくさいので、UIWindows 作ってその上に表示して回避。OKを押したら全部解放
Comments