2015-08-31 96 views
1

我有兩個UIButtons進入視圖,寬度爲232px。根據條件,以編程方式拉伸UIButton寬度

按鈕的對齊如

|[BUTTON1][BUTTON1]| 
|-------232px------| 

我有一組用於該對準約束的,但現在我希望能夠對的BUTTON1的幀改變爲全寬,根據條件,所以它必須以編程方式。我試圖改變框架,但由於它自動更新,它不會工作。基本上,我想要達到的是BUTTON1涵蓋BUTTON2,有沒有一個簡單的方法來做到這一點?

謝謝!

回答

1

由於您在項目中使用autoLayout,因此要更改按鈕的框架,您必須更改UIButton的約束條件。

首先讓你的按鈕的寬度約束的IBOutlet中,然後當你想改變這個約束這樣

button.widthConstraint.constant = //set the constraint; 
[UIView animateWithDuration:0.25f 
      animations:^{ 
       [self.view setNeedsLayout]; 
      } 
      completion:^(BOOL finished) { 
      }]; 
+0

在更新後的問題中,我使我的最終目的更加清晰。我想讓BUTTON1覆蓋BUTTON2(有效地使其成爲全寬)。此代碼使我無法滿足約束錯誤。 – pmerino

1

按鈕更新的框架使按鈕和寬度約束的出口,然後

self.buttonWidthConstraint += 20 // adjust as per requirements 
[self.myButton updateConstraints] 
+0

在更新後的問題中,我使我的最終目的更加清晰。我想讓BUTTON1覆蓋BUTTON2(有效地使其成爲全寬)。此代碼使我無法滿足約束錯誤。 – pmerino

0

你可以設置你想要的按鈕的常量覆蓋爲0,並動畫改變。然後覆蓋按鈕將填充整個空間。