Bep*_*ppe 10 iphone keyboard objective-c ios ios7
在iOS 6中,我习惯用键盘输入viewDidLoad.
- (void)viewDidLoad
{
[super viewDidLoad];
[txtField becomeFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)
这样,当navigationController推送新的viewController时,键盘已经存在,从左到右平滑地动画,避免自下而上的动画.
在iOS 7中,这种行为似乎已经破裂.
如果我加[txtField becomeFirstResponder]的viewDidLoad,键盘会出现在其最终位置推动画,已经中部:不愉快的效果!
我试着移动[txtField becomeFirstResponder]中viewWillAppear,但最终的结果是不变的.
你知道一种方法来恢复iOS 6的行为,将新的viewController和键盘全部推到一起吗?
编辑:使用计时器也不起作用...无论我设置什么时间延迟,键盘只在推动动画结束时显示.
到目前为止,我最好的尝试是把[txtField becomeFirstResponder]在viewWillLayoutSubviews或viewDidLayoutSubviews.不幸的是,这样做是在推送viewController时工作但不是在弹出时(键盘没有出现).
Ell*_*eal 12
我设法推断你的解决方法,viewWillLayoutSubviews以迫使它工作.
- (void)viewWillLayoutSubviews {
if (![self.textField1 isFirstResponder] && ![self.textField2 isFirstResponder] && ...) {
[self.textField1 becomeFirstResponder];
}
}
Run Code Online (Sandbox Code Playgroud)
这对我来说都是有用的,无论是推入堆栈还是解雇模态视图控制器.
| 归档时间: |
|
| 查看次数: |
2201 次 |
| 最近记录: |