这是出于图形设计的原因,因此首选像素高度。 我认为如果是这种情况,不同的语言键盘可能会有不同的高度。那么美国/英国键盘的高度会更好吗?
答案 0 :(得分:1)
您应该以编程方式获取它,这是注册通知的最佳方式:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector (keyboardDidShow:) name: UIKeyboardDidShowNotification object:nil];
然后得到框架:
-(void) keyboardDidShow: (NSNotification *)notif
{
NSDictionary* info = [notif userInfo];
NSValue *aValue = [info objectForKey:UIKeyboardFrameEndUserInfoKey];
CGRect keyboardFrame = [aValue CGRectValue];
}
希望它有所帮助!
答案 1 :(得分:1)
无论什么时候出现,你都可以获得键盘的高度:
//add this line to viewDidLoad
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyBordShown name:UIKeyboardDidShowNotification object:nil];
- (void)keyBordShown:NSNotification*)notification
{
NSDictionary* keyboardInfo = [notification userInfo];
NSValue* keyboardFrameBegin = [keyboardInfo valueForKey:UIKeyboardFrameBeginUserInfoKey];
CGRect keyboardFrameBeginRect = [keyboardFrameBegin CGRectValue];
}
因为这比静态设置键盘的高度更好。