我在苹果文档中找到了iPhone键盘的边界,但找不到iPad键盘的边界。你能帮我吗?
我在苹果文档中找到了iPhone键盘的边界,但找不到iPad键盘的边界。你能帮我吗?
整个代码答案如下。首先,您需要注册通知:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil];
还有更多内容在这里。请注意,您也需要摆脱它们(使用removeObserver
)。
然后您需要一个方法来获取通知以获取大小。请注意,尺寸一开始是没有旋转的(因为UIWindow
不旋转,它的内容会旋转)。
- (void) keyboardDidShow:(NSNotification*)notification {
CGRect keyboardFrame = [[[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
NSLog(@"keyboard frame raw %@", NSStringFromCGRect(keyboardFrame));
UIWindow *window = [[[UIApplication sharedApplication] windows]objectAtIndex:0];
UIView *mainSubviewOfWindow = window.rootViewController.view;
CGRect keyboardFrameConverted = [mainSubviewOfWindow convertRect:keyboardFrame fromView:window];
NSLog(@"keyboard frame converted %@", NSStringFromCGRect(keyboardFrameConverted));
}
如果你以其他方式有 mainSubviewOfWindow
的引用,请使用它。
iPhone 竖屏为 216 像素,横屏为 162 像素;iPad 竖屏为 264 像素,横屏为 352 像素。这适用于2010年使用的美式键盘。
其他语言可能会有不同的尺寸,而且美式键盘在未来也可能会有所变化。