Ios inputAccessoryView上显示的自定义UIInputView不考虑iPhone X上的高度约束
我正在构建一个聊天应用程序,在屏幕底部有一个浮动文本输入字段(类似于iMessage应用程序) 我通过创建一个Ios inputAccessoryView上显示的自定义UIInputView不考虑iPhone X上的高度约束,ios,swift,iphone-x,Ios,Swift,Iphone X,我正在构建一个聊天应用程序,在屏幕底部有一个浮动文本输入字段(类似于iMessage应用程序) 我通过创建一个ChatInputViewController实现了这一点,它是UIInputViewController的一个子类,包含一个UIInputView和一个用于输入的textView 在我的主ChatViewController中,我随后重写以下属性以显示我的自定义UIInputViewController: class ChatViewController: UIViewControl
ChatInputViewController
实现了这一点,它是UIInputViewController
的一个子类,包含一个UIInputView
和一个用于输入的textView
在我的主ChatViewController
中,我随后重写以下属性以显示我的自定义UIInputViewController
:
class ChatViewController: UIViewController {
override var inputAccessoryViewController: UIInputViewController? {
return chatInputViewController
}
override var canBecomeFirstResponder: Bool {
return true
}
...
}
问题是:我还有一个自定义的输入视图,当用户点击帮助图标时会显示该视图。自定义输入视图使用“自动布局”进行布局,并将显式高度约束设置为等于键盘的高度。显示时,此视图在键盘就位的情况下交换。我通过设置textView
的inputView
属性,然后调用textView.reloadInputViews()
来实现这一点。这在除iPhone X之外的所有设备上都能正常工作,而在iPhone X中,inputView被扩展以覆盖整个屏幕
控制台中没有记录自动布局约束。ChatInputViewController
和HelpInputViewController
在其inputView
上启用了allowSelfSizing
,并禁用了TranslatesAutoResizezingMaskintoConstraints
。任何想法都将不胜感激