作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
通过 subview 枚举以查找文本字段的正确方法是什么?
NSMutableArray *mutableTFs = [[NSMutableArray alloc] init];
for (UIView *view in [self.view subviews]) {
if ([view isKindOfClass:[UITextField class]]) {
[mutableTFs addObject:view];
}
}
或
NSMutableArray *mutableTFs = [[NSMutableArray alloc] init];
for (UITextField *textField in [self.view subviews]) {
[mutableTFs addObject:textField];
}
我知道这不是正确的措辞,但我不明白的是,如果它是顶级方法,您如何将它从 View “转换”为文本字段?
最佳答案
Which is the correct way of enumerating through sub views to find text fields?
第一种方法是正确的。第二种方法将遍历所有 subview ,而不仅仅是类型为 UITextField
的 subview 。 for()
中的类型只是对编译器的提示。
有关详细信息,请参阅 this question .
how do you 'convert' it from a view to a text field?
这就是类型转换的作用。
for (UIView *view in [self.view subviews]) {
if ([view isKindOfClass:[UITextField class]]) {
// you don't need to cast just to add to the array
[mutableTFs addObject:view];
// typecasting works as it does in C
UITextField *textField = (UITextField *)view;
// do something with textField
}
}
关于ios - 如何在 iOS 上通过 UITextFields 进行枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6781585/
我是一名优秀的程序员,十分优秀!