思路是這個對話窗口,其實也是一個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;
}
}