gpt4 book ai didi

ios - inputAccessoryView 的 autoResizingMask 不起作用

转载 作者:行者123 更新时间:2023-11-28 07:51:10 26 4
gpt4 key购买 nike

我正在尝试使用 inputAccessoryView 来处理 iPhone X。我已经像这样向我的 ViewController 添加了一个 View :

自定义 View

enter image description here

我已经定义了一个导出并连接到它。返回与 inputAccessoryView 相同的 View ,如下所示:

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
}
}

我已确保添加与安全区域相关的约束。这是我的约束条件:

约束

enter image description here像这样调整 SB 中的 autoResizingMask:

AutoResizingMask

enter image description here

但是,它仍然无法正常工作。这是输出:

输出

enter image description here

我错过了什么?

最佳答案

据我所知,与表格 View 单元格不同,输入附件 View 不支持动态高度计算。

您可以为附件 View 使用固定高度。

但我假设,您只想更改界面构建器中的顶部、底部或高度约束,并且更改会在下一次构建后反射(reflect)出来。

您可以做的是使用自定义 View 类,在其中连接顶部、底部和高度约束。

然后覆盖 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)
}
}

您的布局层次结构可以简化为如下所示:

view layout

自动调整掩码看起来像这样:

autoresizing mask

最终结果将如下所示:

input accessory view

关于ios - inputAccessoryView 的 autoResizingMask 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49653977/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com