B12-UIAlertController(NS_CLASS_AVAILABLE_IOS(8_0))。

      在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;

你可能感兴趣的:(controller)