gpt4 book ai didi

ios - 如何将约束转换为 VFL

转载 作者:行者123 更新时间:2023-11-28 21:27:43 27 4
gpt4 key购买 nike

       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/

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