问题描述
|
我遵循了苹果的指南管理键盘
除非您已经在文本字段中书写并且在新的文本字段中使用制表符,否则它的工作原理就像一种魅力。
该示例中的函数负责滚动。但是它从未被调用过,因为它已经启动了吗?
- (void)keyboardWasShown:(NSNotification*)aNotification;
有人知道这个问题的解决方案吗?
解决方法
接口:
CGSize keyboardSize;
BOOL keyboardIsVisible;
实现,keyboardWasShown:
keyboardSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
keyboardIsVisible = YES;
// Move ScrollView
keyboardWillBeHidden:
keyboardIsVisible = NO;
textFieldDidBeginEditing:
if (keyboardIsVisible) {
// Move ScrollView
}
, 在.h中
CGSize keyboardSize;
和
- (void)keyboardWasShown:(NSNotification*)aNotification;
在.m中
- (void)keyboardWasShown:(NSNotification*)aNotification {
NSDictionary* info = [aNotification userInfo];
if (info) {
/* Can get keyboard Size */
keyboardSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey]
}
/* Animation code */
}
- (void)textFieldDidBeginEditing:(UITextField *)textField {
activeField = textField;
[self keyboardWasShown:[NSNotification notificationWithName:UIKeyboardDidShowNotification object:nil]];
}
感谢vakio。