3

我有两个带有 UITextFields 的控制器。我需要在它们之间使用显示的键盘进行自定义转换,以及转换。

当我使用默认的推送动画时,一切都很好。但是,如果我从 中返回我的转换类animationControllerForOperation,则键盘在转换之前隐藏并在转换之后显示。

那么,有人可以向我建议一个解决方案或解释,为什么键盘隐藏在自定义转换中?过渡持续时间 = 0.4,我设置[textField becomeFirstResponder]viewDidLoad.

这是一个视频:https ://www.youtube.com/watch?v=gs16tMsU4qY

4

2 回答 2

1

看看 UIViewControllerTransitionCoordinator 类。

这是类似问题的答案:https ://stackoverflow.com/a/21017900

于 2015-04-14T16:47:52.863 回答
0

编辑

甚至更简单的方法:

只要下一个 VC 尚未加载,就实现的委托方法并返回- (BOOL) textFieldShouldEndEditing: (UITextField*) textFieldNO ...UITextField


只要新视图控制器的视图尚未加载,也许您可​​以尝试覆盖返回的- (BOOL) canResignFirstResponder方法。(例如,通过设置一个属性,将其设置为加载新视图控制器的视图时)。喜欢:UITextFieldNOBOOLYES

- (BOOL) canResignFirstResponder {
    return nextVCIsLoaded;
}

也许这可能会阻止键盘被隐藏(这似乎是在“推”操作中的某处自动发生的)。

希望这种方法有所帮助。

于 2015-04-14T16:39:44.773 回答