gpt4 book ai didi

ios - textViewDidBeginEditing 在 IOS 9 中不起作用

转载 作者:行者123 更新时间:2023-11-29 00:31:16 25 4
gpt4 key购买 nike

我是 Objective C 新手。我要做的很简单,就是在文本字段聚焦时为键盘设置动画,在没有聚焦时收缩键盘。我已经按照其他一些教程了解如何逐步设置此步骤,但它不起作用。当 textfeld 成为焦点时,事件 textViewDidBeginEditing 永远不会被调用。

@interface ViewController : UIViewController<UITextFieldDelegate>

@property (weak, nonatomic) IBOutlet UITextField *cCodeTextField;

@property (weak, nonatomic) IBOutlet UITextField *jidTextField;

- (IBAction)nextBtnTapped:(id)sender;
@end

我也将委托(delegate)设置为文本字段,但它不起作用。

- (void)viewDidLoad {
[super viewDidLoad];

[self addTextFieldBorder:_jidTextField];
[self addTextFieldBorder:_cCodeTextField];

_jidTextField.delegate = self;
}

-(void) textViewDidBeginEditing:(UITextView *)textView {
NSLog(@"Enter");
}

最佳答案

看起来您的 ViewController 类正在实现来自错误委托(delegate)的方法。它在应该实现 UITextFieldDelegate 方法时实现了 UITextViewDelegate 方法。

请注意,“jidTextField”的类型为 UITextField

您的委托(delegate)方法称为“textViewDidBeginEditing”,它是一个 UITextViewDelegate 方法,并采用 UITextView 作为参数。

这里的问题是您的类正在实现 UITextViewDelegate 的委托(delegate)函数,而不是 UITextFieldDelegate

正确的方法定义是:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField;

这是指向正确委托(delegate)的文档的链接: https://developer.apple.com/reference/uikit/uitextfielddelegate

希望这对您有所帮助!

关于ios - textViewDidBeginEditing 在 IOS 9 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41732435/

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