我正试着用iPhone X和inputAccessoryView打交道。我在ViewController中添加了一个视图,如下所示:
CustomView

我已经定义了一个出口并附在它上。返回与inputAccessoryView相同的视图如下:
class ViewController: UIViewController {
@IBOutlet weak var textFieldContainer: UIView!
override var inputAccessoryView: UIView? {
return textFieldContainer
}
override var canBecomeFirstResponder: Bool {
return true
}
override func viewDidLoad() {
super.viewDidLoad()
textFieldContainer.autoresizesSubviews = true
}
}我确保添加了相对于安全区域的约束。以下是我的制约因素:
约束条件

调整后的autoResizingMask:
AutoResizingMask

然而,它仍然不起作用。这是输出:
输出

我错过了什么?
发布于 2018-04-04 18:56:32
与表视图单元格不同的是,据我所知,在输入辅助视图中不支持动态高度计算。
您可以使用固定高度作为附件视图。
但我假设,您只想在界面构建器中更改顶部、底部或高度约束,更改将在下一个构建之后反映出来。
您可以做的是使用一个自定义视图类来连接顶部、底部和高度约束。
然后重写intrinsicContentSize并返回三个约束常量的和。
class TextFieldContainer: UIView {
@IBOutlet weak var topConstraint: NSLayoutConstraint!
@IBOutlet weak var bottomConstraint: NSLayoutConstraint!
@IBOutlet weak var heightConstraint: NSLayoutConstraint!
override var intrinsicContentSize: CGSize {
let contentHeight =
self.topConstraint.constant
+ self.heightConstraint.constant
+ self.bottomConstraint.constant
return CGSize(width: UIScreen.main.bounds.width, height: contentHeight)
}
}您的布局层次结构可以简化如下:

自动调整掩码的外观如下所示:

最后的结果将如下所示:

发布于 2018-04-04 14:53:39
给文本字段高度和底部约束,尝试删除文本字段的底部约束
https://stackoverflow.com/questions/49653977
复制相似问题