2014-09-04 50 views
1

我的問題很簡單,但我試圖找到一個解決方案,它並沒有出來。 我有兩個視圖,我想根據內容的寬度以相同的寬度水平放置。我正在使用可視化格式語言以編程方式執行所有操作。我已經搜索了這個,但是我沒有發現與使用AL應用於持有者視圖的相同寬度的兩個或更多個視圖相關的任何內容。在AutoLayout中使用相同寬度的UIViews不起作用

相關的代碼是:

NSDictionary *views = NSDictionaryOfVariableBindings(_firstButton, _secondButton); 
NSString *visualFormatString = @"H:|[_firstButton]-5-[_secondButton]|"; 
NSArray *horizontalConstraint = [NSLayoutConstraint constraintsWithVisualFormat:visualFormatString 
                     options:0 
                     metrics:nil 
                      views:views]; 
[self addConstraints:horizontalConstraint]; 

結果,我在與不同寬度和在視覺格式語言指定的空間視圖不施加,第一個視圖(在左)比第二個視圖大。

我正在執行這段代碼的佈局子視圖,這將持有這兩個按鈕。對[super layoutSubviews]的調用是在AL代碼之後進行的。 我試圖弄清楚,但我找不到解決方案。我可以把一個靜態寬度,但這不會很好,雖然它的工作。社區中的任何人都可以爲我解決這個問題嗎?感謝您的關注。

+0

Whaat結果這段代碼給你? – rdelmar 2014-09-04 17:23:10

+0

對不起,我現在把它。謝謝。 – 2014-09-04 17:26:33

回答

0

你的格式字符串需要包括一個事實,即這兩種觀點應該具有相同的寬度,

"H:|[_firstButton]-5-[_secondButton(==_firstButton)]|" 
+0

它的工作完美,感謝您的幫助!我沒有想到這是如此簡單。 – 2014-09-04 17:30:08