【发布时间】:2017-10-06 00:06:27
【问题描述】:
这里是 Obj-C 的新手。我有 6 个包含用户 PIN 码的文本字段
如何切换这 6 个 UI 文本字段的安全文本输入?有按钮可以显示和取消显示 PIN 码。默认情况下,在 Storyboard 上检查安全文本条目。
google了一会儿,我发现这段代码是为了在我的视图中找到所有文本字段
- (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 = YES 或NO 放在哪里;
我输入了布尔值,以便我可以检查切换状态。这之后我该怎么办?还是有其他更优雅的方式来实现它?我对如何做到这一点感到困惑
谢谢!
【问题讨论】:
-
您的所有文本字段都通过 StoryBoard 添加了吗?
-
你用过storyboard还是xib?
-
我正在使用情节提要来设计文本字段。我也已经为每个文本字段放置了标签 1 - 6。首先我检查安全文本条目,然后我希望用户能够切换它
-
当您加载视图时,您需要设置所有文本字段“textField.secureTextEntry = YES”。如果用户点击 revelAction ,textField.secureTextEntry = NO。不需要布尔值
-
你有多少 revelActions ... 表示每个测试字段作为自己的 revelActon 或为所有文本字段创建一个 revelAction
标签: ios objective-c uitextfield