【问题标题】:Trying to understand NSLayoutConstraints with swift试图用 swift 理解 NSLayoutConstraints
【发布时间】:2019-10-20 20:07:11
【问题描述】:

我有一本关于如何使用 swift 制作应用程序的新书,但它并没有很好地解释 NSLayoutConstraints。这是一个示例代码

let constraint = 
     NSLayoutConstraint(item: myLabel,
          attribute: NSLayoutConstraint.Attribute.centerX,
          relatedBy: NSLayoutConstraint.Relation.equal,
          toItem: myButton,
          attribute: NSLayoutConstraint.Attribute.centerX,
          multiplier: 1.0,
          constant: 0.0)

我对一些事情感到困惑,所以感谢您抽出宝贵时间阅读本文。

我看到有两个属性。第一个是标签内文本的属性,第二个是与按钮(myButton)相关的属性吗?我不太确定。你能解释一下relatedBy部分吗?谢谢。

【问题讨论】:

标签: swift nslayoutconstraint


【解决方案1】:

想象一下:

<this object><this point> 连接到<that object><that point>,乘以<1> 加上<this much> 偏移量<exactly/or more/or less>

我试图映射这个:

<this object>[1] 从<this point>[2] 连接到<that object>[4] 的<that point>[5],乘以<1>[6] 加上<this much>[7] 偏移量@987654334 @[3]。

到代码说明:

约束<myLabel>[1] 从<.centerX>[2] 到<.centerX>[5] 的<myButton>[4] 乘以<1.0>[6] 加上<0.0>[7] 偏移量<.equal/.greaterThanOrEqual/.lessThanOrEqual> [3]。

这是:

let constraint = 
     NSLayoutConstraint(
          item: myLabel, // [1]
          attribute: NSLayoutConstraint.Attribute.centerX, // [2]
          relatedBy: NSLayoutConstraint.Relation.equal, // [3]
          toItem: myButton, // [4]
          attribute: NSLayoutConstraint.Attribute.centerX, // [5]
          multiplier: 1.0, // [6]
          constant: 0.0 // [7]
     )

【讨论】:

  • 谢谢你,我抓住了除了偏移量之外的所有东西。什么是偏移量?
  • 当您想在某处设置 某些东西,但结果应该从那里有点off。它是偏移。比如本来应该在100上,但是50不同,结果是(100 + 50),50是偏移量。跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-06
  • 2023-03-07
相关资源
最近更新 更多