作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:label1 attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:label2 attribute:NSLayoutAttributeTop multiplier:1.0 constant:5];
我试图在 VFL 中编写这段代码,但 VFL 似乎只提供了 NSLayoutFormatAlignAllTop 属性。所以我不能设置label1低于label2 5个点。
我想知道这个约束是否不能用VFL写。
最佳答案
你可以这样做,
NSArray *verticalConstraints1 =[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-20-[label1]-20-|" options:0 metrics:nil views:views]; // this set top and bottom vertical constraint
NSArray *verticalConstraints1 =[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-20-[label1]" options:0 metrics:nil views:views]; // this will set only top
NSArray *horizontalConstraints =[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-20-[label1]-20-[label2]-20-|" options:0 metrics:nil views:views]; //this will vertical constraint between two label and top and bottom to label1 and label2 respactively
可以引用this link了解更多详情。
更新:
例如,
|-[button1(button2)]-[button2]-|
此约束意味着,button1 必须与 button2 的宽度相同,它们之间有一个标准间距,button1 是距 superview 左边缘的标准间距,button2 是距 superview 右边缘的标准间距.
如果你在这里使用 button1(button2/2)
那么这意味着它是 button2 的一半宽度。如果您需要这种高度方式的场景,那么只需在语句之前添加 V:
。
另一个例子,
V:|-(==padding)-[imageView]->=0-[button]-(==padding)-|
这个约束意味着,
ImageView 的顶部必须是距顶部的填充点 super View
ImageView 底部必须大于等于0从按钮顶部开始点
按钮的底部必须是从底部开始的填充点 super View 。
|[button(==200@750)]-[label]|
这个约束意味着,按钮的宽度应该是 200 点,优先级是 750。
|-30.0@200-[label]
标签应与父 View 左侧间隔 30 点,优先级为 200。
简而言之,您可以在 VFL
格式中设置任何类型的约束。
引用this link as reference了解更多详情!
希望这会有所帮助:)
关于ios - 如何将约束转换为 VFL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37453882/
我是一名优秀的程序员,十分优秀!