我想实现与许多消息传递应用程序相同的用户体验——即文本视图在屏幕底部可见,当点击它时,它会随键盘一起上升。它可以通过多种方式完成 - 例如根据键盘通知向上移动文本视图。但是 AFAIR 最好的方法是覆盖inputAccessoryView
. UIViewController
这是我的代码:
class ViewController: UIViewController {
@IBOutlet var textFieldContainer: UIView!
override func viewDidLoad() {
super.viewDidLoad()
}
override var canBecomeFirstResponder: Bool {
return true
}
override var inputAccessoryView: UIView {
get {
return self.textFieldContainer
}
}
}
有用。但是,当我将它嵌入导航控制器时,会出现一些视图工件/故障。请查看以下视频:
https://www.youtube.com/watch?v=Sx2yg5pFOZo
非常感谢任何反馈。
附加问题:如何通知视图控制器 inputAccessoryView 已更改?所以我可以随时显示和隐藏文本视图?
请注意:我尝试过 Slack Text View Controller。他们一定是在使用一些 UI hack,因为我在推入导航控制器时看到输入视图上有一些发光效果。
亲切的问候克里斯