我正试图用span.labelsElement-name
来处理iPhone X.我已经为我的inputAccessoryView
添加了一个视图:
CustomView
我已经定义了一个插座并附在其上。像ViewController
一样返回相同的视图:
inputAccessoryView
我确保添加相对于安全区域的约束。以下是我的约束:
约束
在SB中调整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
然而,它仍然无效。这是输出:
输出
我错过了什么?
答案 0 :(得分:0)
您提供了文本字段高度和底部约束,尝试删除textfield的底部约束
答案 1 :(得分:0)
与表视图单元格不同,据我所知,输入附件视图中不支持动态高度计算。
您可以使用固定高度作为附件视图。
但我认为,您只想更改界面构建器中的顶部,底部或高度约束,并在下次构建后反映更改。
您可以使用自定义视图类来连接顶部,底部和高度约束。
然后覆盖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)
}
}
您的布局层次结构可以简化,如下所示:
自动调整掩码可能如下所示:
最终结果的行为如下: