Rob*_*b N 2 uitextfield ios autolayout custom-keyboard
我正在尝试为a创建自定义键盘UITextField
.这不是系统扩展; 它只在我的应用程序中.
myTextField.inputView = CustomKeyboard()
Run Code Online (Sandbox Code Playgroud)
本CustomKeyboard
类有子视图,并且需要比平常系统键盘多一点的高度自动布局约束.这会导致错误,因为系统正在添加必需的customKeyboard.height == 216
约束.
我怎么告诉它不要添加这个约束?它被添加到了CustomKeyboard
s中的约束数组中superview
.
(lldb) po type(of: self)
MyApp.CustomKeyboard
(lldb) po self.superview!.constraints[0]
<NSLayoutConstraint:0x17428ab40 MyApp.CustomKeyboard:0x100d37580.height == 216 (active)>
Run Code Online (Sandbox Code Playgroud)
我得到了Apple开发人员的支持.我实现了它,它的工作原理.这是他们所说的:
如果您
inputView
正在使用自动布局并且具有足够的约束以便它可以确定自己的高度(在示例项目中就是这种情况),那么您需要做的就是intrinsicContentSize
在输入视图中覆盖并返回CGSize
高度不是UIViewNoIntrinsicMetric
.例如,这将做:
override var intrinsicContentSize: CGSize {
return CGSize(width: UIViewNoIntrinsicMetric, height: 0)
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
497 次 |
最近记录: |