gpt4 book ai didi

ios - 我的 inputAccesoryView 的 safeAreaLayoutGuide

转载 作者:行者123 更新时间:2023-11-30 12:03:46 24 4
gpt4 key购买 nike

因此,对于新的 iPhone X,我的应用程序中的某些内容位置错误。在我的应用程序的底部,我有一个 accesoryView,它基本上是一个带有文本字段和其他元素的 UIView。我在新的iPhone X中看到了一些关于safeAreaLayoutGuide的内容,但我现在不知道如何在accessoryView中实现。所以我试图找到一个代码来在我的应用程序中实现它,这样 safeArea 就不会再打扰我了。

这是 inputAccesoryView 的代码

lazy var inputContainerView: UIView = {

let containerView = UIView()
containerView.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: 50)
containerView.translatesAutoresizingMaskIntoConstraints = false
containerView.backgroundColor = UIColor.white


containerView.addSubview(self.inputTextField)
containerView.addSubview(self.swiche)
containerView.addSubview(self.separatorLineView)
containerView.addSubview(self.uploadImageView)


//x,y,w,h
self.inputTextField.leftAnchor.constraint(equalTo: self.swiche.rightAnchor, constant: 4).isActive = true
self.inputTextField.centerYAnchor.constraint(equalTo: containerView.centerYAnchor).isActive = true
self.inputTextField.rightAnchor.constraint(equalTo: self.uploadImageView.leftAnchor, constant: 4).isActive = true
self.inputTextField.heightAnchor.constraint(equalTo: containerView.heightAnchor).isActive = true
self.inputTextField.backgroundColor = UIColor.clear


//x,y,w,h
self.swiche.leftAnchor.constraint(equalTo: containerView.leftAnchor, constant: 4).isActive = true
self.swiche.centerYAnchor.constraint(equalTo: containerView.centerYAnchor).isActive = true
self.swiche.heightAnchor.constraint(equalToConstant: 30).isActive = true
self.swiche.widthAnchor.constraint(equalToConstant: 55).isActive = true



//x,y,w,h
self.uploadImageView.centerYAnchor.constraint(equalTo: containerView.centerYAnchor).isActive = true
self.uploadImageView.rightAnchor.constraint(equalTo: containerView.rightAnchor).isActive = true
self.uploadImageView.widthAnchor.constraint(equalToConstant: 47).isActive = true
self.uploadImageView.heightAnchor.constraint(equalToConstant: 47).isActive = true


//x,y,w,h
self.separatorLineView.leftAnchor.constraint(equalTo: containerView.leftAnchor).isActive = true
self.separatorLineView.topAnchor.constraint(equalTo: containerView.topAnchor).isActive = true
self.separatorLineView.widthAnchor.constraint(equalTo: containerView.widthAnchor).isActive = true
self.separatorLineView.heightAnchor.constraint(equalToConstant: 1).isActive = true


return containerView

}()




//MARK: AccesoryView
override var inputAccessoryView: UIView? {
get {

return inputContainerView

}
}

感谢您的帮助!!!

最佳答案

正如我所想,您所需要做的就是在指出约束之前访问 safeAreaLayoutGuide 类。在您的情况下,您需要更改如下约束:

self.inputTextField.centerYAnchor.constraint(equalTo: containerView.centerYAnchor).isActive = true

进入这样的约束:

self.inputTextField.centerYAnchor.constraint(equalTo: containerView.safeAreaLayoutGuide.centerYAnchor).isActive = true

让我知道进展如何。

关于ios - 我的 inputAccesoryView 的 safeAreaLayoutGuide,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46899044/

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