在 iOS 6 中,我习惯于在viewDidLoad
.
- (void)viewDidLoad
{
[super viewDidLoad];
[txtField becomeFirstResponder];
}
这样,当 navigationController 推送新的 viewController 时,键盘已经存在,从左到右平滑动画,避免了自下而上的动画。
在 iOS 7 中,这种行为似乎被破坏了。
如果我添加[txtField becomeFirstResponder]
,viewDidLoad
键盘出现在推动动画的中间,已经在它的最终位置:一个不愉快的效果!
我试过搬进[txtField becomeFirstResponder]
去viewWillAppear
,但最终结果没有改变。
你知道一种方法来恢复 iOS 6 的行为,将新的 viewController 和键盘一起推送吗?
编辑:使用计时器也不起作用......无论我设置什么时间延迟,键盘仅在推动动画结束时显示。
到目前为止,我最好的尝试是[txtField becomeFirstResponder]
放入viewWillLayoutSubviews
or viewDidLayoutSubviews
。不幸的是,这样做在推动 viewController 时起作用,但在弹回时不起作用(键盘没有出现)。