为什么我的 inputAccessoryView 在向后导航时消失了?

Why does my inputAccessoryView disappear when navigating backwards?

我在 VC 中实现了自己的 inputAccessoryView,它被 UINavigationController 推送。

这是 VC 的样子:注意底部的 inputAccessoryView(带有按钮和文本字段的白色栏)

当我从屏幕左侧向右侧滑动时(为了关闭当前 VC 并返回),inputAccessoryView 向下移动并消失。此外,如果我在任何地方停止滑动手势并让当前 VC 跳回(这样它就不会被关闭),inputAccessoryView 也会向下移动并消失。

我在移动时附上了另一张照片:

VC 后又跳了一个:

如您所见,inputAccessoryView 已消失。

我的一段代码:

private final lazy var inputContainerView: UIView = {
    let containerView = UIView()
    containerView.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: 50)
    [...]
    return containerView
}()
[...]


override var inputAccessoryView: UIView? {
    return inputContainerView
}

override var canBecomeFirstResponder: Bool {
    return true
}

您可能想尝试致电

self.becomeFirstResponder() in viewWillAppearor viewDidAppear 当发生这种情况时,它们都会被触发。