2016-10-04 84 views
0

我正在使用使用视觉格式语言的自动布局。使用VFL在iOS中实现自动布局实现

在水平模式下,我可以包括在一个单一的代码行两种标记这样

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在单行中做到这一点?

+0

不知道你在代码中做什么,但是如果你需要在初始化视图后调整在界面构建器中创建的约束,你可以从_constraint_拖放出口到你的ViewController并修改它稍后以编程方式。 – Adrian

+0

目前没有为这个类实现的XIB文件。我试图检查它是否可以在VFL中完成。谢谢 – Prav

回答

2

不。有很多不同的自动布局方法:在Interface Builder中,使用VFL,以编程方式创建NSLayoutConstraints或使用布局锚。每个人都有自己的缺点。这是VFL崩溃的地方之一。