我的情况如下:我有一个实现了 PIN 屏幕的应用程序。它没有什么高科技,只是基本的 4UITextField
秒和通过实现的逻辑UITextFieldDelegate
- 它可以工作。
我在-(void)applicationWillEnterForeground:(UIApplication *)application
事件的应用程序委托中显示此屏幕。我使用MMDrawerController
github(链接:https ://github.com/mutualmobile/MMDrawerController )作为主视图控制器。如果应用程序再次进入后台和前台时呈现的当前视图是这个MMDrawerController
,那么becomeFirstResponder
它不起作用 - 它不显示键盘。如果抽屉控制器顶部存在另一个视图控制器,则在进入前台时(比如说设置视图),则键盘会正常显示。
我已经尝试NSLog
ingcanBecomeFirstResponder
属性并将其设置为YES
. 到底是怎么回事?如何解决这个问题?
如果需要,我可以粘贴代码,但它没有任何歧义。只是简单的调用becomeFirstResponder
。
编辑:
为了更清楚地解释事情。rootViewController
是一个视图控制器LoginViewController
,它alloc-init
是侧边栏和中心视图控制器,alloc-init
是抽屉控制器,并将所有东西连接起来,这样它就可以工作了。应用程序委托视图实际上是一个 PIN 屏幕,当应用程序进入前台时会弹出。现在键盘看起来就像它应该第一次看到抽屉一样。
当用户弹出时SettingsViewController
(是的,这是另一个可从侧边栏视图控制器访问的视图控制器),它也可以正常工作。但是当用户关闭设置视图控制器键盘时不再出现。它必须对抽屉做一些事情,因为我在没有它的情况下尝试过它并且它有效(但我只有侧边栏或中心视图控制器可见)。