NS_CLASS_DEPRECATED_IOS(2_0, 8_3, "UIActionSheet is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleActionSheet instead") __TVOS_PROHIBITED

在iOS8之后UIActionSheet (以及它们各自的 delegate protocols)已经被弃用,用UIAlertController来代替,一下是iOS8之前和之后的2种做法:

double version = [[UIDevice currentDevice].systemVersion doubleValue];//判定系统版本。

if(version>=8.0f){

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"提示" message:nil preferredStyle:UIAlertControllerStyleActionSheet];

[alertController addAction:[UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

NSLog(@"确定");

}]];

[alertController addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {

NSLog(@"取消");

}]];

[self presentViewController:alertController animated:YES completion:nil];

}else{

#pragma clang diagnostic push

#pragma clang diagnostic ignored "-Wdeprecated-declarations"

UIActionSheet *sheetView = [[UIActionSheet alloc] initWithTitle:@"提示" delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:@"确定",@"取消", nil];

#pragma clang diagnostic pop

sheetView.actionSheetStyle = UIActionSheetStyleDefault;

[sheetView showInView:self.view];

}

#pragma mark actionSheet_delegate 点击事件

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex NS_DEPRECATED_IOS(2_0, 8_3) __TVOS_PROHIBITED{

NSLog(@"%@",@(buttonIndex));

}