思路是這個對話窗口,其實也是一個ViewController, 假設是ModalViewController
代碼如下
// 判斷系統版本 #define iOSVersionGreaterThanOrEqualTo(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending) // 按鈕觸發事件 - (void)buttonPressed:(id)sender ModalViewController *modalVC = [[ModalViewController alloc] init]; modalVC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; if ( iOSVersionGreaterThanOrEqualTo(@"8.0") ) { modalVC.providesPresentationContextTransitionStyle = YES; modalVC.definesPresentationContext = YES; modalVC.modalPresentationStyle = UIModalPresentationOverCurrentContext; [self presentViewController:modalVC animated:YES completion:nil]; } else { self.view.window.rootViewController.modalPresentationStyle = UIModalPresentationCurrentContext; [self presentViewController:modalVC animated:NO completion:nil]; self.view.window.rootViewController.modalPresentationStyle = UIModalPresentationFullScreen; } }