gpt4 book ai didi

iphone - 如何检测在 iphone 中按下的键盘键?

转载 作者:技术小花猫 更新时间:2023-10-29 10:29:53 24 4
gpt4 key购买 nike

我想检测用户何时按下任何键盘键。

任何仅在键入任何字符时调用而不是在显示键盘时调用的方法。

谢谢!!

最佳答案

您可以在每次用户按下某个键时直接处理键盘事件:

swift

对于 Textfield 使用以下委托(delegate)方法 -

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {

对于 TextView 使用以下委托(delegate)方法 -

func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {

}

Objective-C

如果是UITextField

- (BOOL)textField:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string {

// Do something here...
}

UITextView 的情况下:

- (BOOL)textView:(UITextView *)textView
shouldChangeTextInRange:(NSRange)range
replacementText:(NSString *)text {

// Do something here...
}

因此,每次您使用键盘按下的每个键都会调用这些方法之一。

你也可以使用 NSNotificationCenter。您只需要在 ViewDidLoad 方法中添加其中任何一个即可。

NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];

UITextField :

[notificationCenter addObserver:self
selector:@selector(textFieldText:)
name:UITextFieldTextDidChangeNotification
object:yourtextfield];

然后你可以把你的代码放在方法textFieldText::

- (void)textFieldText:(id)notification {

// Do something here...
}

UITextView

[notificationCenter addObserver:self
selector:@selector(textViewText:)
name:UITextViewTextDidChangeNotification
object:yourtextView];

然后你可以把你的代码放在方法textViewText::

- (void)textViewText:(id)notification {

// Do something here...
}

希望对您有所帮助。

关于iphone - 如何检测在 iphone 中按下的键盘键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16016729/

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