objective-c - 检查 UIControl subview 是否为 UITextField 类型

标签 objective-c

我想使用类似于以下代码的代码来查找已添加到我的扩展 UIControl 的自定义 View 中的 UITextFields,然后对它们调用 resignFirstResponder 以关闭键盘,但 XCode 编译器不允许这样做并给出消息“意外的接口(interface)名称 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

最佳答案

您需要执行以下操作来获取 UITextField 类:

if ([subview isKindOfClass:[UITextField class]]

关于objective-c - 检查 UIControl subview 是否为 UITextField 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13925461/

相关文章:

ios - 设置按钮标题时,具有淡入淡出效果

ios - UIViewcontroller 不会显示( Storyboard已删除)

ios - 我如何解密签名并添加到 objective-c 中的 YouTube 提取的 URL?

ios - UILocalNotification 根本不起作用

objective-c - ObjC : object returned empty description?

ios - 如何使用 UIViewAnimationOptionRepeat 自动重复一组链接的 UIView 动画

ios - 使用 SFSafariViewController 从 UITextView 自动检测到的链接打开网站

objective-c - C 或 Objective-C 等效于 Java 的 Integer.toOctalString()?

objective-c - 取消从 iOS 将图像上传到 Facebook

ios - 对定义的函数进行错误访问