【发布时间】:2015-09-17 18:29:17
【问题描述】:
我在 for index 循环中,并根据每个索引项添加标签。因为我以编程方式添加这些标签,所以我不知道如何将它们限制在设备宽度的最右侧。我在下面解释我认为约束是如何起作用的。 我的目标 = 将超级视图(或包含视图)常量设置为 8 的尾随空格。
let y_align = 340 * index + 70
let x_align = self.deviceWidth - 110
var derp = UILabel(frame: CGRectMake(0, 0, 200, 21))
derp.center = CGPointMake(CGFloat(x_align), CGFloat(y_align))
derp.textAlignment = NSTextAlignment.Right
derp.text = json["things"][index]["thing"].string!
self.some_view_container.addSubview(derp)
//now this is what I understand about constraints
let xconstraint = NSLayoutConstraint(
item: derp, //-- the object that we want to constrain
attribute: NSLayoutAttribute.Trailing, //-- the attribute of the object we want to constrain
relatedBy: NSLayoutRelation.Equal, //-- how we want to relate THIS object to A DIFF object
toItem: some_view_container, //-- this is the different object we want to constrain to
attribute: NSLayoutAttribute.Right, //-- the attribute of the different object
multiplier: 1, //-- multiplier
constant: 8 //-- regular constant
)
derp.addConstraint(xconstraint)
这就是我想要的人性
- item:我想约束 json 值的 derp
- 属性:我想限制它的尾随空格,使其一直向右推
- relatedBy:这里不知道,我不在乎它是否与任何东西相关,因为我只想要超级视图的尾随空格
- toItem:我想把它推到 superview 的右边,或者它的容器是 some_view_container
- 属性:这里不知道,我不关心视图容器的属性
- 乘数:我只想要常数的个数,所以乘以 1
- 常量:我希望尾随空间距离边缘 8 度
【问题讨论】:
标签: swift constraints labels