aqa*_*cha 4 iphone macos objective-c nsevent ios
嗨,我正在开发iphone应用程序,并希望在iphone中处理键盘事件.在Mac中,有一个NSEvent类可以处理键盘和鼠标事件,而在ios(iphone/ipad)中,NSEvent的对应物是UIEvent,它只处理触摸事件.我知道ios API不提供此功能,但我如何处理iphone中的关键事件?任何好的教程或者......开始......
您无法直接编写keyboad; s键,并且在设备的情况下没有鼠标.
您可以为不同类型的charectersets制作逻辑,或者您可以在textField delgate方法或Textview Delegates方法中制作逻辑
textView委托
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
Run Code Online (Sandbox Code Playgroud)
textField委托
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
Run Code Online (Sandbox Code Playgroud)
您还可以对textField和Textview使用通知.
对于TextField,请使用此选项
在viewDidLoad中调用此寄存器方法
-(void)registerForTextFieldNotifications {
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[notificationCenter addObserver:self
selector:@selector (handle_TextFieldTextChanged:)
name:UITextFieldTextDidChangeNotification
object:self.textField];
}
- (void) handle_TextFieldTextChanged:(id)notification {
if([iSinAppObj.passCodeString isEqualToString:lockTextField.text])
{
//code here
}
}
Run Code Online (Sandbox Code Playgroud)
对于文本视图,您只需要更改这样的事件名称
[notificationCenter addObserver:self
selector:@selector (handle_TextFieldTextChanged:)
name:UITextViewTextDidChangeNotification
object:self.textField];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13902 次 |
| 最近记录: |