使用 VFL 在 iOS 中实现自动布局

Auto Layout implementation in iOS using VFL

我正在使用可视格式语言的自动布局。

在水平模式下,我可以像这样在一行代码中包含两个标签

 constraints  = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-20-[Btn1]-10-[dummyLabel1]-10-[Lbl2]-10-[dummyLabel2]-10-[Btn2]" options:0 metrics:metrics views:views];
[self.view addConstraints:constraints];

我不得不使用像这样的两行约束来以垂直模式放置两个对象。

 constraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:[dummyLabel]-16-[fixedLabel]-13-|" options:0 metrics:metrics views:views];
[self.view addConstraints:constraints];

constraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:[dummyLabel2]-16-[fixedLabel]-13-|" options:0 metrics:metrics views:views];
[self.view addConstraints:constraints];

有什么方法可以在垂直模式下同时使用 VFL 在单行中执行此操作吗?

没有。有很多不同的方法可以实现自动布局:在 Interface Builder 中,使用 VFL,以编程方式创建 NSLayoutConstraints,或使用 Layout Anchors。每个人都有自己的缺点。这是VFL出故障的地方之一。