【Objective-C】背景が透明なUIViewControllerを呼び出す(iOS8)
背景が透明なUIViewControllerをiOS8で呼び出す方法です。今までと少しやり方が異なっています。
(確認: xcode6.1 iOS8.1)
// 適当にViewControllerを作って... UIViewController* bViewController = [[UIViewController alloc] init]; CGRect screen = [[UIScreen mainScreen] bounds]; bViewController.view.frame = CGRectMake(0.0, 0.0, screen.size.width, screen.size.height); bViewController.view.backgroundColor = [UIColor colorWithRed:0.0 green:128.0 blue:128.0 alpha:0.3]; // 透明になるよう設定... if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) { self.providesPresentationContextTransitionStyle = YES; self.definesPresentationContext = YES; [bViewController setModalPresentationStyle:UIModalPresentationOverCurrentContext]; // selfは呼び出し元のUIViewController } else { self.modalPresentationStyle = UIModalPresentationCurrentContext; } [self presentViewController:bViewController animated:YES completion:nil];
以上です。