有没有人知道当“.?123”按钮被点击时我们是否从键盘上得到一个代表回调?我们在文本键盘上放置了一个自定义数字键盘,一旦用户点击“.?123”按钮,我们希望将其删除以避免重复键。
有什么建议么。
有没有人知道当“.?123”按钮被点击时我们是否从键盘上得到一个代表回调?我们在文本键盘上放置了一个自定义数字键盘,一旦用户点击“.?123”按钮,我们希望将其删除以避免重复键。
有什么建议么。
没有任何通知会给你你想要的。事实上,没有任何公共 API 可以让您访问该级别的键盘。我能想到的唯一方法是在 .?123 键上方放置一个透明按钮,并检测到它,然后将触摸传递给底层按钮。按钮视图深埋在视图层次结构中。我使用此代码首先找到键盘,然后记录包含该按钮的视图 (UIKBKeyViews)。下面日志中的五个视图似乎是大写、退格、.?123、空格键和返回视图。
-(void) keyboardUp: (NSNotification*) notification { // called from UIKeyboardDidShowNotification
UIWindow *tempWindow = [[[UIApplication sharedApplication] windows]objectAtIndex:1];
UIView *keyboard;
for(int i = 0; i < [tempWindow.subviews count]; i++) {
keyboard = [tempWindow.subviews objectAtIndex:i];
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES) {
// NSLog(@"Keyboard subviews are: %@",keyboard.subviews);
NSLog(@"%@",[[[[[[[[[[[[[UIApplication sharedApplication] windows]objectAtIndex:1] contentView]subviews]lastObject]subviews]lastObject]subviews]lastObject]subviews]lastObject]subviews]);
}
}
}