键盘隐藏后iPhone视图未重置
我使用了一本书的例子,当键盘显示时,它向上滑动视图,以避免覆盖文本字段 除了在背景上单击隐藏键盘时,我的视图会向上滑动,而不会向下滑动之外,一切都正常。键盘隐藏,但视图保持向上移动。如果我用回车键隐藏键盘,一切正常。以下是我的代码:键盘隐藏后iPhone视图未重置,iphone,xcode,keyboard-events,Iphone,Xcode,Keyboard Events,我使用了一本书的例子,当键盘显示时,它向上滑动视图,以避免覆盖文本字段 除了在背景上单击隐藏键盘时,我的视图会向上滑动,而不会向下滑动之外,一切都正常。键盘隐藏,但视图保持向上移动。如果我用回车键隐藏键盘,一切正常。以下是我的代码: - (void)keyboardWillShow:(NSNotification *)notif { NSDictionary* info = [notif userInfo]; NSValue* aValue = [info objectForKe
- (void)keyboardWillShow:(NSNotification *)notif {
NSDictionary* info = [notif userInfo];
NSValue* aValue = [info objectForKey:
UIKeyboardBoundsUserInfoKey];
CGSize keyboardSize = [aValue CGRectValue].size;
float bottomPoint = (password.frame.origin.y+
password.frame.size.height+10);
scrollAmount = keyboardSize.height -
(self.view.frame.size.height- bottomPoint);
if (scrollAmount > 0) {
moveViewUp = YES;
[self scrollTheView:YES];
}
else
moveViewUp = NO;
}
- (void)scrollTheView:(BOOL)movedUp {
[UIControl beginAnimations:nil context:NULL];
[UIControl setAnimationDuration:0.3];
CGRect rect = self.view.frame;
if (movedUp){
rect.origin.y -= scrollAmount;
}
else {
rect.origin.y += scrollAmount;
}
self.view.frame = rect;
[UIControl commitAnimations];
}
-(BOOL)textFieldShouldReturn:(UITextField *) theTextField {
[theTextField resignFirstResponder];
if (moveViewUp) [self scrollTheView:NO];
return YES;
}
我很难弄明白为什么在触摸背景以隐藏键盘时,键盘后的动画视图被隐藏
再次感谢您的帮助。将动画语句中的“UIControl”更改为“UIView” 将动画语句中的“UIControl”更改为“UIView” 只有当您点击键盘上的返回按钮时,才会调用
textFieldShouldReturn
方法。要捕获各种键盘消失,请使用textfielddidediting
另一种方法是注册
UIKeyboardWillHideNotification
以及UIKeyboardWillShowNotification
,textFieldShouldReturn
方法仅在点击键盘上的返回按钮时调用。要捕获各种键盘消失,请使用textfielddidediting
另一种方法是注册
UIKeyboardWillHideNotification
以及UIKeyboardWillShowNotification
您是否验证了当您单击后台(未完成)时,它会触发您的TextField应返回方法?嗯,我应该早检查一下。它不会激发我的textFieldShouldReturn方法。你知道为什么吗?你有没有验证过当你点击背景(不是“完成”)时,它会触发你的textFieldShouldReturn方法?嗯,我应该早点检查一下。它不会激发我的textFieldShouldReturn方法。你知道为什么吗?