如何使我的键盘弹出窗口更加流畅,我的视图控制器以模态方式出现?
Posted
技术标签:
【中文标题】如何使我的键盘弹出窗口更加流畅,我的视图控制器以模态方式出现?【英文标题】:How do I make my keyboard popup more fluent with my view controller appearing modally? 【发布时间】:2013-11-07 00:49:09 【问题描述】:我希望键盘在视图控制器向上滑动时向上滑动。但是对于我以模态方式呈现的视图控制器之一,当呈现视图控制器时键盘会立即出现,因此键盘出现然后视图控制器从其下方向上滑动,从而产生丑陋的效果。
奇怪的是,当它在viewDidLoad
中时会发生这种瞬时行为,但是将它放在那里对于另一个视图控制器来说效果很好。 (但在瞬间出现的是 UITextField,而正确的是 UITextView。)
代码如下:
- (void)viewDidLoad
[super viewDidLoad];
[self.URLTextField becomeFirstResponder];
如何让它与视图控制器一起出现?我不必做丑陋的dispatch_after
吗?
【问题讨论】:
在viewWillAppear
尝试一下,但我猜你最容易得到的最好是来自viewDidAppear
。
viewDidAppear 有延迟,viewWillAppear 的结果与 viewDidLoad 发生的结果相同。
我没有看到您在 viewWillAppear 中看到的内容——看起来新的视图控制器和键盘一起向上滑动。我觉得不错。
如果您无法正确处理,解决方法可能是在固定延迟后滚动您自己的演示文稿。
【参考方案1】:
如果使用某些方法 (ViewDidLoad/ViewWillAppear) 加载太快,而使用其他方法加载太慢,您可以尝试在中间做一些事情。
我不建议这样做,因为我确信有办法让它做你喜欢的事情,但我想在 viewDidLoad 中你可以设置视图以响应keyboardWillShow,然后成为第一响应者并在通知中延迟几毫秒
【讨论】:
以上是关于如何使我的键盘弹出窗口更加流畅,我的视图控制器以模态方式出现?的主要内容,如果未能解决你的问题,请参考以下文章