我想在視圖中均勻地放置四個按鈕。在故事板中,我將這些按鈕定位在縱向視圖中,因此間距是正確的。但是我沒有找到正確的約束設置來讓按鈕在任何視圖寬度上均勻分佈(對於縱向iPad或橫向)。所以,我說下面的代碼片段,使用第一和第四按鈕爲錨移動按鈕所需的位置:ios UIViewController以編程方式定位按鈕不起作用
// evenly space the buttons
CGPoint leftPoint = self.button1.center;
CGPoint rightPoint = self.button4.center;
CGFloat width = rightPoint.x - leftPoint.x;
leftPoint.x += width/3;
rightPoint.x -= width/3;
self.button2.center = leftPoint;
self.button3.center = rightPoint;
定位代碼工作正常,但我的困難是找到使最好的地方調整。 - (void)viewDidAppear:(BOOL)animated 似乎是最好的地方。但是,如果我將其分類爲不同的視圖,那麼當我返回到此視圖時,這些按鈕將恢復爲它們的初始(storybaord約束)指定位置。 viewDidAppear代碼將再次被調用,但它不能成功移動按鈕。就好像他們的位置在那個時間點被鎖定一樣。
我想我的主要問題是如果有一種方法可以使用約束來實現我之後的均勻間距。或者第二個問題是如何覆蓋這兩個按鈕的自動定位。
我試着將定位代碼移動到ViewController的 - (void)viewDidLayoutSubviews方法中,結果相同。第一次出現視圖時,這些按鈕的位置正確,但從一個循環返回時,這些按鈕不會移動到指定的中心點。 – user1806529