UIAlertController 添加 UITextField

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Aaidong/article/details/53736581

版权归Aaidong所有〜转载需声明〜  原贴地地址:http://blog.csdn.net/aaidong/article/details/53736581

- (void)addAlertView {
    
     UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"拒绝订单" message:@"" preferredStyle:UIAlertControllerStyleAlert];
    
//    UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil];
//    [alertController addAction:cancelAction];
    
    [alertController addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
        NSLog(@"点击取消");
    }]];
    
    UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"确认" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
        
        UITextField *tf = alertController.textFields.firstObject;
        NSLog(@"hahah : %@",tf.text);
        
        [self teacherRejectWithType:@"0" reason:tf.text];
        
        [[NSNotificationCenter defaultCenter] removeObserver:self name:UITextFieldTextDidChangeNotification object:nil];
    }];
    // 在输入文字前,我们要冻结“确定”按钮
    okAction.enabled = NO;
    [alertController addAction:okAction];

//    [alertController addAction:[UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
//        NSLog(@"点击确定");
//    }]];
    
    [alertController addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
        
        textField.placeholder = @"请输入拒绝原因";
        // 是否安全输入
        textField.secureTextEntry = NO;
        // 添加一个通知,改变okAction的状态
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(alertTextFieldDidChange:) name:UITextFieldTextDidChangeNotification object:textField];
    }];
    
    
    [self presentViewController:alertController animated:YES completion:^{
        
    }];
    
//    // 设置2.0秒后alertController自动消失
//    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(),^{
//    
//        [alertController dismissViewControllerAnimated:YES completion:^{
//            
//        }];
//    });
}
// TextFieldTextDidChange 的通知处理方法
- (void)alertTextFieldDidChange:(NSNotification *)notification{
    
    UIAlertController *alertController = (UIAlertController *)self.presentedViewController;
    if (alertController) {
        UITextField *tf = alertController.textFields.firstObject;
        UIAlertAction *okAction = alertController.actions.lastObject;
        // 设置okAction的状态,是否可点击
        okAction.enabled = tf.text.length > 0;
    }
}


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页