为什么我的 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 viewWillAppear
or viewDidAppear
当发生这种情况时,它们都会被触发。
我在 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 viewWillAppear
or viewDidAppear
当发生这种情况时,它们都会被触发。