捕获UITextField运行时的textFieldDidEndEditing

时间:2017-06-09 15:03:55

标签: ios objective-c iphone objective-c-runtime

我正在使用目标C方面库,在下面的情况下,我想在调用textFieldDidEndEditing方法时监听所有UITextfields。

它没有用,我试过UIButton它可以工作但不适用于UITextfield和UITextview。

 [UITextField aspect_hookSelector:@selector(textFieldDidEndEditing:) withOptions:AspectPositionAfter usingBlock:^(id<AspectInfo> aspectInfo) {

        if ([[aspectInfo instance] isKindOfClass:[UITextField class]]) {
            UITextField *textView = [aspectInfo instance];

            NSLog(@"***** UITEXTTTTTTTTTTTTTTTTTTT click event called ");

        }
    }

在这种情况下,我错过了什么?为什么它不起作用?

1 个答案:

答案 0 :(得分:0)

不是100%确定该库的工作方式,但看起来您正在尝试收听textFieldDidEndEditing:电话。问题是该方法不会在UITextField上调用。它在UITextFieldDelegate上被调用。

如果您想在任意数量的文本字段上收听textFieldDidEndEditing:,您只需使用内置的通知系统并订阅UITextFieldTextDidEndEditing通知。

Documentation