2014-02-19 72 views
0

我在iOS 7上使用Autolayout來設計我的視圖。 我可以自動調整視圖大小和所有對象,但是我遇到問題: 我有4個標籤,一個緊挨着另一個。這些標籤位於UIView中,當我的UIView調整大小時(寬度),我希望我的標籤自動移動,但仍然可見。iOS Autolayout調整標籤和它們之間的空間

這裏是東西: enter image description here

當UIView的是在調整: enter image description here

你知道我是什麼意思?我在視圖的右側固定了正確的標籤。有用。 對於第一個標籤,這不是問題。 但是對於標籤2和3,我不知道如何調整它們之間的最小距離。

所有的建議和想法都非常感謝。謝謝。

Regards, Lapinou。

回答

1

使用此UIView的類別:https://github.com/jrturton/UIView-Autolayout

你真的可以很容易地做到這一點...

NSArray *views = @[ button1, button2, button3, button4 ]; 
[self.containerView spaceViews:views onAxis:UILayoutConstraintAxisHorizontal withSpacing:10 alignmentOptions:0]; 

編輯:其實......這使得每個按鈕的寬度動態,可能無法滿足您的需求究竟。

+0

太棒了!這個項目真的很有用。謝謝! – Lapinou

0

您可能需要在-viewDidLayoutSubviews內手動更改NSLayoutConstraint對象的常量屬性。我假設標籤沒有固定寬度,因此它們之間不會有一個恆定的空間。它看起來像你想要它們在彼此的象限中,第一個和最後一個標籤與邊緣具有固定的距離。也許標籤2和3可以水平居中到容器中,然後被容器的寬度/ 2偏移。

[NSLayoutConstraint constraintWithItem:self.label2 
           attribute:NSLayoutAttributeCenterX 
           relatedBy:NSLayoutRelationEqual 
            toItem:self.view 
           attribute:NSLayoutAttributeCenterX 
           multiplier:1.0 
            constant:self.view.frame.size.width/2.0]; 

label2將有一個像上面發佈的常量,但標籤3將這個常數作爲負值。

1

我覺得你有Equal Widths約束工作,堅持左鍵左側,同爲右按鈕,最後爲每個按鈕等於0

這應該工作一Horizontal Space Constraint ...

enter image description here

+0

+1,因爲這是一種替代解決方案;) – Lapinou