cuốn sách gpt4 ai đã làm

ios - 以编程方式在 UIView 上设置针对 safeAreaLayoutGuide 的约束

In lại Tác giả: Walker 123 更新时间:2023-11-29 05:38:54 25 4
mua khóa gpt4 Nike

我正在尝试以编程方式设置针对“safeAreaLayoutGuide”的约束,但似乎 safeArea 在 UIView 的“init”方法中不可用。

required init(foo: foo) 
{
super.init(frame: .zero)

self.addSubview(contentView)

var layoutGuide: UILayoutGuide = self.layoutMarginsGuide
if #available(iOS 11, *) {
layoutGuide = self.safeAreaLayoutGuide
}

NSLayoutConstraint.activate([
contentView.topAnchor.constraint(equalTo: layoutGuide.topAnchor),
contentView.rightAnchor.constraint(equalTo: layoutGuide.rightAnchor),
contentView.leftAnchor.constraint(equalTo: layoutGuide.leftAnchor),
contentView.bottomAnchor.constraint(equalTo: layoutGuide.bottomAnchor)
])

self.layoutIfNeeded()
}

因此,当设置这些约束时,“layoutGuide”的框架是 {{0, 0}, {0, 0}} 很明显,这里有些东西不正确(除非在设备上) iOS 11 以下)。

我尝试覆盖 safeAreaInsetsDidChange 函数,并在那里设置约束,但该函数似乎为时已晚,就像 View 最初会是错误的,然后正确更新

我应该在哪里/什么时候对 UIView 设置约束?

câu trả lời hay nhất

bạn có thể viewDidLoad 方法中设置 View ,而不是 init

关于ios - 以编程方式在 UIView 上设置针对 safeAreaLayoutGuide 的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56760650/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress