【发布时间】:2017-08-01 01:57:01
【问题描述】:
我正在尝试为 UITextField 创建自定义键盘。这不是系统扩展;它仅在我的应用程序中。
myTextField.inputView = CustomKeyboard()
CustomKeyboard 类具有子视图和自动布局约束,它们需要比通常的系统键盘高一点的高度。这会导致错误,因为系统正在添加必需的customKeyboard.height == 216 约束。
我如何告诉它不要添加这个约束?它被添加到CustomKeyboard 的superview 中的约束数组中。
(lldb) po type(of: self)
MyApp.CustomKeyboard
(lldb) po self.superview!.constraints[0]
<NSLayoutConstraint:0x17428ab40 MyApp.CustomKeyboard:0x100d37580.height == 216 (active)>
【问题讨论】:
-
输入视图高度由系统强加。你不应该试图颠覆它。你需要你的约束来处理这个,而不是反对它。
-
这是否记录在某处?我之所以问是因为我在其他地方看到了一些声明,这些声明听起来像是有些人从自定义键盘中获得了更高的高度。 (也许以前的 iOS 版本?)
-
带有自定义键盘。但这只是一个输入视图。
-
我想一个相关的问题是:可以制作自定义键盘并将其保密给他们的应用程序吗?
标签: ios autolayout uitextfield custom-keyboard