Ios SWIFT 3,Eureka:当使用导航控制器时,不会调用键盘willshow回调 脚本 NavigationController是TabBarController的根控制器 TabBarController有2个UIViewController 一个UIViewController具有表示另一个UIViewController的函数 显示的UIVIewController具有堆栈视图 实例化FormController的子类(例如:FormVC)并将其作为子视图添加到堆栈中 问题

Ios SWIFT 3,Eureka:当使用导航控制器时,不会调用键盘willshow回调 脚本 NavigationController是TabBarController的根控制器 TabBarController有2个UIViewController 一个UIViewController具有表示另一个UIViewController的函数 显示的UIVIewController具有堆栈视图 实例化FormController的子类(例如:FormVC)并将其作为子视图添加到堆栈中 问题,ios,swift3,uinavigationcontroller,pushviewcontroller,eureka-forms,Ios,Swift3,Uinavigationcontroller,Pushviewcontroller,Eureka Forms,未调用FormVC的键盘将显示函数。键盘实际上会将输入添加到行中,但不会自动滚动 这只是Eureka中的一个问题,还是使用导航控制器的pushViewController时的问题?答案 根据问题中的注释,使用FormVC的正确方法是使用容器 下面是对github的一个很好的解释: 嗨chefren你的方法的问题是 FormViewController未处理生命周期,因为您没有 将其添加到视图控制器层次结构。其实你只是 将其视图添加到您的一个视图中 由于错误,未调用函数键盘将显示 FormView

未调用FormVC的
键盘将显示
函数。键盘实际上会将输入添加到行中,但不会自动滚动

这只是Eureka中的一个问题,还是使用导航控制器的
pushViewController
时的问题?

答案 根据问题中的注释,使用FormVC的正确方法是使用容器

下面是对github的一个很好的解释:

嗨chefren你的方法的问题是
FormViewController
未处理生命周期,因为您没有 将其添加到视图控制器层次结构。其实你只是 将其视图添加到您的一个视图中

由于错误,未调用函数
键盘将显示

FormViewController
将此观察员添加到通知中
Notification.Name.ui键盘将从函数
视图显示
, 在你的情况下,没有人打电话给你。因此,其他东西可能不会 正常工作,因为视图控制器生命周期未被激活 处理

这不是使用
FormViewController
的方式。将其用于 那样的话,可能会像你经历的那样,以一种不受欢迎的行为而告终。 在其他视图中嵌入
FormViewController
的正确方法 控制器的视图是通过将其添加为子视图控制器来实现的。看到这个了吗 更多信息查看Apple指南 控制器。此外,在故事板中,您可以使用
容器
查看

问候


需要测试在推送:Posted to Eureka issue list时是否可以添加通知观察者:因为FormVC只是在另一个VC中实例化的,所以似乎有些东西丢失了。在ContainerView内的情节提要中设置为ViewController类类型时,设法使其正常工作。在控制台上仍然收到此消息可能意味着我需要添加keyboardWillHide通知传递:
从私人有效用户设置读取。