gpt4 book ai didi

ios - 无法识别的选择器发送到实例 resignFirstResponder

转载 作者:行者123 更新时间:2023-11-29 12:50:03 27 4
gpt4 key购买 nike

我正在使用 TPKeyboardAvoiding在我的应用程序中显示键盘时隐藏移动文本字段,但是当我尝试结束编辑文本字段时出现异常。它来自 TPKeyboardAvoiding 中的这个方法:

- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
UIView* view =[self TPKeyboardAvoiding_findFirstResponderBeneathView:self];
NSLog(@"%@",[view description]);
[view resignFirstResponder]; //this line gives the exception
[super touchesEnded:touches withEvent:event];
}

我在这里有点困惑。不应该所有的 UIViews 响应 resignFirstResponder 吗?感谢您的帮助。

完整错误:

2014-03-25 17:40:39.919 Rysk[5553:70b] -[MenuViewController textFieldDidBeginEditing:]: unrecognized selector sent to instance 0xb63c820

最佳答案

不确定您是否也调用了[yourTextField resignFirstResponder] 。因此,UITextField(在您提供的代码中)此时可能不是 FirstResponder。我建议像这样调整您的代码:

- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
UIView* view =[self TPKeyboardAvoiding_findFirstResponderBeneathView:self];

if([view conformsToProtocol:@protocol(UITextFieldDelegate)] || [view conformsToProtocol:@protocol(UITextViewDelegate)]) &&
[view isFirstResponder] && [view canResignFirstResponder])
{
[view resignFirstResponder];
}

[super touchesEnded:touches withEvent:event];
}

此外,如果您使用 POD,请确保您使用的是最新版本,因为我使用的 POD 在此事件中有类似的内容:

- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[[self TPKeyboardAvoiding_findFirstResponderBeneathView:self] resignFirstResponder];
[super touchesEnded:touches withEvent:event];
}

希望对您有所帮助!

关于ios - 无法识别的选择器发送到实例 resignFirstResponder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22624749/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com