2016-10-04 61 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崩潰的地方之一。