是否可以知道用户何时触摸键盘 iphone?当用户从键盘触摸某个按钮时...:/
问问题
583 次
1 回答
1
最简单的方法是使用 TextField。即使您的 UI 不需要一个,您也可以将它的框架设置为零,这样它就不会出现在屏幕上。然后,您可以使用文本字段的委托回调方法访问所按下的键。
- (void)viewDidLoad {
[super viewDidLoad];
//CGRectZero because we don't want the textfield to be shown onscreen
UITextField *f = [[UITextField alloc] initWithFrame:CGRectZero];
//We set the delegate so we can grab keypressed
f.delegate = self;
[self.view addSubview:f];
[f becomeFirstResponder]; //Show the keyboard
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string {
if (string.length >0) {
NSLog(@"%@ Pressed",string);
}
else {
NSLog(@"Backspcae pressed");
}
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
NSLog(@"return pressed");
return YES;
}
注意:为避免编译器警告,请确保在您的 .h 文件中该类明确表示它实现了 UITextFieldDelegate 协议。IE:
@interface MyViewController : UIViewController <UITextFieldDelegate>
于 2009-05-20T19:54:37.130 回答