ali*_*ego 8 xcode xib ios inputaccessoryview swift
我正在使用一个inputAccessoryView,它使用以下UIView子类从一个nib加载:
class CustomInputAccessoryView: UIView {
@IBOutlet var containerView: UIView!
@IBOutlet var contentView: UIView!
@IBOutlet weak var button1: UIButton!
@IBOutlet weak var button2: UIButton!
@IBOutlet weak var textView: UITextView!
override var intrinsicContentSize: CGSize {
return CGSize.zero
}
override init(frame: CGRect) {
super.init(frame: frame)
setupInputAccessoryView()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setupInputAccessoryView()
}
func setupInputAccessoryView() {
self.translatesAutoresizingMaskIntoConstraints = false
Bundle.main.loadNibNamed("CustomInputAccessoryView", owner: self, options: nil)
addSubview(containerView)
containerView.frame = self.bounds
}
}
Run Code Online (Sandbox Code Playgroud)
我将视图分配给inputAccessoryView并通过以下方式设置它:
var customInputAccessoryView = CustomInputAccessoryView()
Run Code Online (Sandbox Code Playgroud)
inputAccessoryView正确加载并正确显示.问题是当我按下inputAccessoryView的textView并显示键盘时,我收到以下错误:
<_UIKBCompatInputView: ...; frame = (0 0; 0 0); layer = <CALayer: ...>> returned 0 width, assuming UIViewNoIntrinsicMetric
Run Code Online (Sandbox Code Playgroud)
我有两个文件,一个.swift文件,它是上面显示的UIView的子类,同名的nib文件.在笔尖的文件所有者中,我选择子类(CustomInputAccessoryView)并连接出口.
我真的不知道发生了什么,除了输入附件视图可能会在显示键盘之前自动调整到零帧,然后再转到正确的大小.如果是这样我假设我需要更改一些AutoLayout优先级,但我尝试过的是不起作用.唯一的硬宽度约束是具有固定宽度的按钮.
inputAccessoryView宽度应始终为其显示的窗口的宽度.
| 归档时间: |
|
| 查看次数: |
374 次 |
| 最近记录: |