文本字段中的 UIAlertcontrollerShouldBegineditingobjective-c

纳拉辛哈

我想在确定按钮单击文本字段后在文本字段中输入文本之前显示警报文本字段将可编辑但我显示警报但文本字段不可编辑。

if(textField == contractValueField)
{
    [self showAlertWithTitle:@"Information" textfield:contractValueField];
    return YES;
}

我搜索了很多网站,但使用 UIAlertView 没有得到正确的答案,但我想使用 UIAlertController。我的项目中有 20 多个文本字段,每个文本字段在编辑开始之前都会显示警报。

- (void)showAlertWithTitle:(NSString *)title textfield:(UITextField*)textfield
{
    UIAlertController *alert = [UIAlertController alertControllerWithTitle:title message:@"Please enter Amount in Lakhs" preferredStyle:UIAlertControllerStyleAlert];
    UIAlertAction* ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action)
    {
        [alert dismissViewControllerAnimated:YES completion:nil];
        [textfield becomeFirstResponder];
    }];

    [alert addAction:ok];
    [self.navigationController presentViewController:alert animated:YES completion:nil];
}
夏诺

原因是当你调用时[textfield becomeFirstResponder]-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField也被再次调用反过来显示你的alertView,当你的alert中选择ok按钮时,又会显示alert视图,你就卡在了一个循环中。这是修复它的快速方法:

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
    // check to see if the alert has already been shown, if it has the tag value will be 1
    if (textField == contractValueField && textField.tag != 1) {
        [self showAlertWithTitle:@"Information" textfield:textField];
        return false;
    }
    return true;
}

alertView 的代码应如下所示:

- (void)showAlertWithTitle:(NSString *)title textfield:(UITextField*)textfield{
    UIAlertController *alert = [UIAlertController alertControllerWithTitle:title message:@"Please enter Amount in Lakhs" preferredStyle:UIAlertControllerStyleAlert];
    UIAlertAction* ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action){
        textfield.tag = 1;
        [alert dismissViewControllerAnimated:YES completion:nil];
        [textfield becomeFirstResponder];
    }];

    [alert addAction:ok];
    [self presentViewController:alert animated:true completion:nil];
}

编辑完成后,将 textField 的标签值恢复为 0:

-(BOOL)textFieldShouldEndEditing:(UITextField *)textField{
    textField.tag = 0;
    return true;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

文本字段解析以获取C#中的数据的问题

来自分类Dev

在 C# 中获取 SharePoint 富文本字段值

来自分类Dev

如何通过QWebEngine在网页的输入文本字段中填充文本(来自C ++)?

来自分类Dev

使用Objective C从在文本字段中输入的文本更改导航栏标题

来自分类Dev

如何知道何时从 Objective-C 中的特定文本字段复制文本?

来自分类Dev

文本字段验证方法obj c

来自分类Dev

使用obj-c在UIAlertView中创建一个文本字段

来自分类Dev

ios / xcode / objective c:捕获文本字段中的最后一个击键

来自分类Dev

文本字段中的信息未获得保留的目标c

来自分类Dev

当ios目标c中的文本字段中的字符范围增加时,如何阻止表视图多次重复数组?

来自分类Dev

实施自动完成的文本字段目标C

来自分类Dev

Objective-C:用数字验证文本字段

来自分类Dev

文本字段 userinteractionenabled 禁用也输入 obj c

来自分类Dev

目标c如何根据选择第一个文本字段项目删除第二个和第三个文本字段中的项目

来自分类Dev

在 UITableview 中,键入的文本字段值在不同的单元格中重复出现,如何使用目标 c 进行纠正

来自分类Dev

iOS Obj-C 切换多个文本字段的安全文本输入

来自分类Dev

删除文本字段中的文本

来自分类Dev

文本字段中的默认文本

来自分类Dev

模糊文本字段中的文本

来自分类Dev

文本字段中的默认文本

来自分类Dev

有没有在不使用CSS的情况下用c ++编写的GTK + 3中多行文本字段的示例?

来自分类Dev

Objective-C:获取每个表行的文本字段值

来自分类Dev

用户单击数字时,Objective C文本字段的默认值从“•••••••”到“ 1•••••••”,“ 12•••••”,“ 123••••”

来自分类Dev

Objective-C:获取以编程方式创建的文本字段的单个字符串

来自分类Dev

C#-csv形成文本字段(复制和粘贴)

来自分类Dev

用户单击数字时,Objective C文本字段的默认值从“•••••••”到“ 1•••••••”,“ 12•••••”,“ 123••••”

来自分类Dev

C#SQLite 3读取文本字段作为二进制数据

来自分类Dev

检查我视图中的所有文本字段是否为空c

来自分类Dev

带有国家/地区代码的 Objective-C 电话号码文本字段

Related 相关文章

  1. 1

    文本字段解析以获取C#中的数据的问题

  2. 2

    在 C# 中获取 SharePoint 富文本字段值

  3. 3

    如何通过QWebEngine在网页的输入文本字段中填充文本(来自C ++)?

  4. 4

    使用Objective C从在文本字段中输入的文本更改导航栏标题

  5. 5

    如何知道何时从 Objective-C 中的特定文本字段复制文本?

  6. 6

    文本字段验证方法obj c

  7. 7

    使用obj-c在UIAlertView中创建一个文本字段

  8. 8

    ios / xcode / objective c:捕获文本字段中的最后一个击键

  9. 9

    文本字段中的信息未获得保留的目标c

  10. 10

    当ios目标c中的文本字段中的字符范围增加时,如何阻止表视图多次重复数组?

  11. 11

    实施自动完成的文本字段目标C

  12. 12

    Objective-C:用数字验证文本字段

  13. 13

    文本字段 userinteractionenabled 禁用也输入 obj c

  14. 14

    目标c如何根据选择第一个文本字段项目删除第二个和第三个文本字段中的项目

  15. 15

    在 UITableview 中,键入的文本字段值在不同的单元格中重复出现,如何使用目标 c 进行纠正

  16. 16

    iOS Obj-C 切换多个文本字段的安全文本输入

  17. 17

    删除文本字段中的文本

  18. 18

    文本字段中的默认文本

  19. 19

    模糊文本字段中的文本

  20. 20

    文本字段中的默认文本

  21. 21

    有没有在不使用CSS的情况下用c ++编写的GTK + 3中多行文本字段的示例?

  22. 22

    Objective-C:获取每个表行的文本字段值

  23. 23

    用户单击数字时,Objective C文本字段的默认值从“•••••••”到“ 1•••••••”,“ 12•••••”,“ 123••••”

  24. 24

    Objective-C:获取以编程方式创建的文本字段的单个字符串

  25. 25

    C#-csv形成文本字段(复制和粘贴)

  26. 26

    用户单击数字时,Objective C文本字段的默认值从“•••••••”到“ 1•••••••”,“ 12•••••”,“ 123••••”

  27. 27

    C#SQLite 3读取文本字段作为二进制数据

  28. 28

    检查我视图中的所有文本字段是否为空c

  29. 29

    带有国家/地区代码的 Objective-C 电话号码文本字段

热门标签

归档