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

时间:2018-03-06 12:46:56

标签: ios swift first-responder inputaccessoryview

我在一个由UINavigationController推送的VC中实现了一个自己的inputAccessoryView。

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

1]

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

我搬家时附上另一张照片: 2]

VC跳回来之后的另一个:

3]

如您所见,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
}

1 个答案:

答案 0 :(得分:3)

您可能想尝试拨打

self.becomeFirstResponder()viewWillAppear中的{p> viewDidAppear会在发生这两种情况时被触发。