只是修改了官方的demo
- (void)viewDidLoad
{
[superviewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotificationobject:nil];
[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotificationobject:nil];
inputview=[[UITextViewalloc] initWithFrame:CGRectMake(123,750, 111,44)];
[inputviewsetBackgroundColor:[UIColorredColor]];
[self.view addSubview:inputview];
}
- (void)didReceiveMemoryWarning
{
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (BOOL)textViewShouldBeginEditing:(UITextView *)aTextView {
if (inputview.inputAccessoryView == nil) {
[[NSBundlemainBundle] loadNibNamed:@"AccessoryView"owner:selfoptions:nil];
}
returnYES;
}
- (BOOL)textViewShouldEndEditing:(UITextView *)aTextView {
[aTextView resignFirstResponder];
returnYES;
}
#pragma mark -
#pragma mark Responding to keyboard events
- (void)keyboardWillShow:(NSNotification *)notification {
NSDictionary *userInfo = [notification userInfo];
NSValue* aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
CGRect keyboardRect = [aValue CGRectValue];
NSValue *animationDurationValue = [userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey];
NSTimeInterval animationDuration;
[animationDurationValue getValue:&animationDuration];
[UIViewbeginAnimations:nilcontext:NULL];
[UIView setAnimationDuration:animationDuration];
inputview.frame=CGRectMake(123,keyboardRect.origin.y-64, 111,44);
[UIViewcommitAnimations];
}
- (void)keyboardWillHide:(NSNotification *)notification {
NSDictionary* userInfo = [notification userInfo];
NSValue *animationDurationValue = [userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey];
NSTimeInterval animationDuration;
[animationDurationValue getValue:&animationDuration];
[UIViewbeginAnimations:nilcontext:NULL];
[UIView setAnimationDuration:animationDuration];
inputview.frame = CGRectMake(123,750, 111,44);
[UIViewcommitAnimations];
}
本文介绍了一个iOS应用中处理键盘显示与隐藏时调整输入框位置的方法。通过监听键盘将要显示与隐藏的通知来获取键盘的高度,并据此调整输入框的位置,确保用户在键盘弹出时仍能清晰地看到输入区域。
3526

被折叠的 条评论
为什么被折叠?



