gpt4 book ai didi

ios - 在 Swift 中向 NSLayoutAnchor 约束添加乘数

转载 作者:行者123 更新时间:2023-12-01 21:30:35 24 4
gpt4 key购买 nike

anchor 约束简化了添加约束,但 Storyboard 中可用的乘数属性似乎并不适用于所有类型的约束。

例如,作为per the answer here ,您可以通过以下方式在 View 中居中标签:

view.addSubview(loadingLabel)
loadingLabel.translatesAutoresizingMaskIntoConstraints = false
loadingLabel.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
loadingLabel.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true

但是,显然,虽然您可以设置长度约束的乘数,如下所示:

someView.heightAnchor.constraint(equalTo: heightAnchor, multiplier: 0.4)

您不能向 CenterX 或 CenterY 参数添加类似的参数,可能是因为 Apple 认为这对某个点没有意义,尽管您可以在 Storyboard 中以 discussed in this question 的形式执行此操作.

为了使点从顶部开始与屏幕大小成比例,将乘数添加到居中约束的最佳方法是什么?

最佳答案

您不能为 X 和 Y 轴约束的 anchor 方法添加乘数,它们仅适用于维度 anchor 。但是,NSLayoutContraint 有一个设置乘数的选项。因此,例如,如果您想沿 Y 轴将标签设置在 super View 顶部和中心的中间,您可以这样做:

view.addSubview(loadingLabel)
loadingLabel.translatesAutoresizingMaskIntoConstraints = false
loadingLabel.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
NSLayoutConstraint(item: loadingLabel, attribute: .centerY, relatedBy: .equal, toItem: view, attribute: .centerY, multiplier: 0.5, constant: 0).isActive = true

关于ios - 在 Swift 中向 NSLayoutAnchor 约束添加乘数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63042552/

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