【发布时间】:2013-02-28 15:19:13
【问题描述】:
所以...当键盘弹出时,我的 UIScrollView 向上移动,这很有效...除了它们 UIScrollView 和键盘不同步...首先,键盘弹出,然后UIScrollView。
我知道有一种方法可以延迟键盘,使其在视图向上滚动的同时显示;我怎么做??我在 viewDidLoad 中试过这个:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
...我也有这个:
- (void)keyboardWillShow:(NSNotification *)notification
{
[NSTimer scheduledTimerWithTimeInterval:4000 target:self selector:@selector(keyboardWillShow:) userInfo:nil repeats:NO];
}
(我知道,4000 是一个巨大的数字,但我想确保有延迟!!)
另外,当我关闭键盘而不是平滑滚动时,UIScrollView 只是简单地跳回原位而不是缓和下来......有没有合理的方法来解决这个问题?
更新:
知道了...感谢 Steven Fisher 帮助我走上了正确的道路...我将所有内容移至keyboardWillShow,并添加了以下代码:
[UIScrollView beginAnimations:nil context:NULL];
[UIScrollView setAnimationDelegate:self];
[UIScrollView setAnimationDuration:.32];
[UIScrollView setAnimationBeginsFromCurrentState:NO];
不知何故,当键盘消失时,这也解决了我的“跳跃”问题!哇哦!
【问题讨论】:
-
你的工作倒退了。您应该计时滚动视图偏移更改为键盘动画。而且很难说为什么它“跳回来”而不看一些相关代码。
-
好的,那我该怎么做呢?
标签: ios uiscrollview keyboard