在InputAccessoryView上显示的自定义UIInputView不遵守iPhone X上的高度约束

时间:2017-11-29 23:01:58

标签: ios swift iphone-x

我正在构建一个聊天应用程序,它在屏幕底部有一个浮动文本输入字段(类似于iMessage应用程序)。

enter image description here

我通过创建ChatInputViewController来实现这一目标,UIInputViewControllerUIInputView的子类,其中包含textView,其中包含ChatViewController

在我的主UIInputViewController中,我会覆盖以下属性以显示我的自定义class ChatViewController: UIViewController { override var inputAccessoryViewController: UIInputViewController? { return chatInputViewController } override var canBecomeFirstResponder: Bool { return true } ... }

inputView

问题在于:我还有一个自定义输入视图,当用户点击帮助图标时会显示该视图。自定义输入视图使用Autolayout布局,并且显式高度约束设置为等于键盘的高度。出现时,此视图会在键盘就位时切换出来。我这样做是通过设置textView的{​​{1}}属性然后调用textView.reloadInputViews()来实现的。这适用于除iPhone X之外的所有设备,而inputView则扩展为覆盖整个屏幕。

enter image description here

控制台中没有记录自动布局限制。 ChatInputViewControllerHelpInputViewController在其allowSelfSizinginputView已启用translatesAutoresizingMaskIntoConstraints时已启用.csv。任何想法都将不胜感激。

0 个答案:

没有答案