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

阿尔文

Obj-C 的新手在这里。我有 6 个文本字段,其中包含用户的 PIN 码

如何切换这 6 个 UI textFields 的安全文本输入?有按钮可以显示和取消显示 PIN 码。默认情况下,Storyboard 上会检查安全文本条目。

谷歌搜索一段时间后,我发现了这段代码,旨在找到我的视图中的所有文本字段

- (NSArray*) findAllTextFieldsInView:(UIView*)view {
    NSMutableArray* textfieldarray = [[NSMutableArray alloc] init];
    for (id x in [view subviews]) {
        if ([x isKindOfClass:[UITextField class]])
            [textfieldarray addObject:x];

        if ([x respondsToSelector:@selector(subviews)]) {
            [textfieldarray addObjectsFromArray:[self findAllTextFieldsInView:x]];
        }
    }
    return textfieldarray;
}

这是我的代码

- (IBAction) revealPIN:(id)sender {

    if (self.reveal == TRUE) {
        self.reveal = FALSE;
    }
    else {
        self.reveal = TRUE;
    }

    NSArray* allTextFields = [self findAllTextFieldsInView:[self view]];
}

我不知道把textField.secureTextEntry = YESor放在哪里NO

我输入了布尔值,以便我可以检查切换状态。在这之后我必须做什么?或者还有其他更优雅的方法来实现它吗?我对如何做到这一点感到困惑

谢谢!

绝无希望

你应该这样尝试:

- (IBAction) revealPIN:(id)sender {

    if (self.reveal == TRUE) {
        self.reveal = FALSE;
    }
    else {
        self.reveal = TRUE;
    }

    NSArray* allTextFields = [self findAllTextFieldsInView:[self view]];

    for tf in allTextFields
    {
       tf.secureTextEntry = self.reveal; // <--- Check this one
    }
}

您还可以优化,而不是先找到文本字段然后更新它们的 secureTextEntry 属性,您应该创建一个直接更新文本字段属性的方法,如下所示:

- (void) updateSecureEntryAttrForAllTextFieldsInView:(UIView*)view {
    NSMutableArray* textfieldarray = [[NSMutableArray alloc] init];
    for (id x in [view subviews]) {
        if ([x isKindOfClass:[UITextField class]])
            x.secureTextEntry = self.reveal;  // <--- Check this one

        if ([x respondsToSelector:@selector(subviews)]) {
            [textfieldarray addObjectsFromArray:[self updateSecureEntryAttrForAllTextFieldsInView:x]];
        }
    }
    return;
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

文本字段验证方法obj c

来自分类Dev

Xcode Obj-C-从警报框IOS8检索用户输入的文本

来自分类Dev

底部共享菜单iOS [Obj-c]

来自分类Dev

正在填充的对象显示日志中的空字段(IOS,OBJ-C)

来自分类Dev

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

来自分类Dev

从以前的文本字段切换后,iOS 13仅偶尔会建议使用强密码

来自分类Dev

从C ++函数(iOS)访问Obj-C属性

来自分类Dev

由于空数组iOS obj C,表视图崩溃

来自分类Dev

iOS Swift方法在obj C项目上调用

来自分类Dev

NIDropDown iOS Obj-c - 未获得选定值

来自分类Dev

如何从 ajax cfc 获取多个值?我的文本字段中不断出现 obj obj

来自分类Dev

UI测试iOS,选择安全文本输入textField

来自分类Dev

如何从纯C(.c文件)SDK到IOS(obj-C,.m文件)框架进行通信?

来自分类Dev

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

来自分类Dev

在iOS上如何判断文本字段完整的输入

来自分类Dev

在iOS上如何判断文本字段完整的输入

来自分类Dev

iOS:调用存储功能时,文本字段输入崩溃

来自分类Dev

iOS-在Watch Extension中添加Obj-C文件导致错误

来自分类Dev

将Obj-c iOS应用程序转换为Swift时出现链接器错误

来自分类Dev

iOS 8 Map Kit Obj-C无法获取用户位置

来自分类Dev

在iOS Obj-C中何处添加Firebase数据库参考

来自分类Dev

检查用户是否允许本地通知。iOS8。Obj-C

来自分类Dev

iOS错误转换从Obj-C类继承的Swift中的对象

来自分类Dev

OBJ。C.(XCODE 5-IOS 7)自动将变量保存在属性列表中

来自分类Dev

将Obj-c iOS应用程序转换为Swift时的链接器错误

来自分类Dev

将Obj-c iOS应用程序转换为Swift时的链接器错误

来自分类Dev

iOS Obj-C挂钩将十六进制转换为字符串

来自分类Dev

是否有一个等效于Swift / Obj-C / iOS的ruby控制台?

Related 相关文章

  1. 1

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

  2. 2

    文本字段验证方法obj c

  3. 3

    Xcode Obj-C-从警报框IOS8检索用户输入的文本

  4. 4

    底部共享菜单iOS [Obj-c]

  5. 5

    正在填充的对象显示日志中的空字段(IOS,OBJ-C)

  6. 6

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

  7. 7

    从以前的文本字段切换后,iOS 13仅偶尔会建议使用强密码

  8. 8

    从C ++函数(iOS)访问Obj-C属性

  9. 9

    由于空数组iOS obj C,表视图崩溃

  10. 10

    iOS Swift方法在obj C项目上调用

  11. 11

    NIDropDown iOS Obj-c - 未获得选定值

  12. 12

    如何从 ajax cfc 获取多个值?我的文本字段中不断出现 obj obj

  13. 13

    UI测试iOS,选择安全文本输入textField

  14. 14

    如何从纯C(.c文件)SDK到IOS(obj-C,.m文件)框架进行通信?

  15. 15

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

  16. 16

    在iOS上如何判断文本字段完整的输入

  17. 17

    在iOS上如何判断文本字段完整的输入

  18. 18

    iOS:调用存储功能时,文本字段输入崩溃

  19. 19

    iOS-在Watch Extension中添加Obj-C文件导致错误

  20. 20

    将Obj-c iOS应用程序转换为Swift时出现链接器错误

  21. 21

    iOS 8 Map Kit Obj-C无法获取用户位置

  22. 22

    在iOS Obj-C中何处添加Firebase数据库参考

  23. 23

    检查用户是否允许本地通知。iOS8。Obj-C

  24. 24

    iOS错误转换从Obj-C类继承的Swift中的对象

  25. 25

    OBJ。C.(XCODE 5-IOS 7)自动将变量保存在属性列表中

  26. 26

    将Obj-c iOS应用程序转换为Swift时的链接器错误

  27. 27

    将Obj-c iOS应用程序转换为Swift时的链接器错误

  28. 28

    iOS Obj-C挂钩将十六进制转换为字符串

  29. 29

    是否有一个等效于Swift / Obj-C / iOS的ruby控制台?

热门标签

归档