在IOS8之后,UIAlertController替代了UIActionSheet和UIAlertView。UIAlertController的使用主要分三个步骤:
一、初始化
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"警告" message:@"啊哈哈哈哈" preferredStyle:UIAlertControllerStyleAlert]; // typedef NS_ENUM(NSInteger, UIAlertControllerStyle) { // UIAlertControllerStyleActionSheet = 0, // UIAlertControllerStyleAlert //} NS_ENUM_AVAILABLE_IOS(8_0);
二、添加Action(button或者textfield)
[alert addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) { NSLog(@"点击了取消按钮"); }]]; // 创建action添加action UIAlertAction *sureAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { NSLog(@"点击了确定按钮"); }]; [alert addAction:sureAction]; // 创建action添加action sureAction.enabled = NO; self.sureAction = sureAction; __weak typeof(self) weakSelf = self; [alert addTextFieldWithConfigurationHandler:^(UITextField *textField) { textField.placeholder = @"用户名"; textField.textColor = [UIColor redColor]; [textField addTarget:weakSelf action:@selector(textDidChange:) forControlEvents:UIControlEventEditingChanged]; }]; // 添加textField - (void)textDidChange:(UITextField *)textField{ self.sureAction.enabled = textField.hasText;}
三、显示
[self presentViewController:alert animated:YES completion:nil];
四、弱引用的方式
// __weak UIAlertController *weakAlert = alert; // __unsafe_unretained UIAlertController *weakAlert = alert; // __weak typeof(alert) weakAlert = alert;
时间: 2024-11-09 00:35:59