Ios 显示viewController时防止显示inputAccessoryView

Ios 显示viewController时防止显示inputAccessoryView,ios,swift,xcode,resignfirstresponder,inputaccessoryview,Ios,Swift,Xcode,Resignfirstresponder,Inputaccessoryview,我有一个带有inputAccessoryView的viewController,显示如下: override var inputAccessoryView: UIView? { get { return myInputView } } override var canBecomeFirstResponder: Bool { return true } 我可以使用self.becomeFirstResponder()和self.resignFirstRespon

我有一个带有
inputAccessoryView
viewController,显示如下:

override var inputAccessoryView: UIView? {
   get {
       return myInputView
   }
}

override var canBecomeFirstResponder: Bool {
   return true
}
我可以使用
self.becomeFirstResponder()
self.resignFirstResponder()轻松显示和隐藏此
inputAccessoryView

我遇到的问题是,当
viewController
第一次出现时(从故事板实例化),
inputAccessoryView
是可见的。我只能使用
self.resignFirstResponder()
viewdide
中取消它。这显示它随着动画向下移动


我猜一个
viewController
在出现时会自动变成
firstResponder
,但我想知道如何在
视图出现之前覆盖它。将
self.resignFirstResponder
方法放入
视图中不会产生任何影响,将出现

您不能加载并分配视图中的inputAccessoryView吗?这样就不会从NIB加载。问题是viewController是第一响应者,在viewController出现在屏幕上之前,我无法撤消它。我需要在inputAccessoryView变量的getter中指定inputAccessoryView,使其按我所希望的方式工作。啊,隐藏它并在它消失后取消隐藏怎么样。我知道,似乎hacky@alionthego只需将bool属性
var firstResponder=false
添加到视图控制器中,并在ViewDidAspect方法中将其设置为true。将canBecomeFirstResponder方法更改为
覆盖变量canBecomeFirstResponder:Bool{return firstResponder}
,这是一个可行的解决方案,但在将推送的viewController弹出回此viewController时,我也遇到了同样的问题。我可以修改您在推送时建议的firstResponder变量,但它开始变得有点混乱。我将继续使用inputAccessoryView getter中的bool变量。顺便说一句,最酷的个人资料图片!我得赶时间。。。