我想使用类似下面的代码来查找已添加到我的自定义视图中的UITextFields,它扩展了UIControl,然后在它们上调用resignFirstResponder来关闭键盘,但XCode编译器不允许这样做并给出消息“意外的接口名称UITextField。预期的表达式。”在这里达到我预期目标的最佳方法是什么?
@interface MyCustomView : UIControl
@end
@implementation MyCustomView
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
/* Dismiss the keyboard associated with any UITextFields in this view */
for (id subview in self.subviews) {
if ([subview isKindOfClass: UITextField] ||
[subview isMemberOfClass: UITextField]) {
[subview resignFirstResponder];
}
}
}
@end
答案 0 :(得分:2)
您需要执行以下操作才能获取UITextField类:
if ([subview isKindOfClass:[UITextField class]]
答案 1 :(得分:1)
if ([subview isKindOfClass:[UITextField class])
适用于UITextField
类及其子类。
if ([subview class] == [UITextField class])
仅适用于UITextField
类。
您可以根据需要使用其中任何一种。
答案 2 :(得分:0)
这对您来说可能更容易:
[self.view endEditing:YES];