2011-07-02 32 views
2

我在屏幕上以編程方式放置了一個UISegmentedControl(獨立,而不是導航欄的一部分),並將其autoresizingMask設置爲UIViewAutoresizingFlexibleLeftMargin,因爲我希望它堅持正確。UISegmentedControl autoresizingMask不能正常工作

但是,當我旋轉屏幕時,控件會保持原來的位置,並且不會移動到右側(或其他任何地方)。

我也嘗試了autoresizingMask的所有其他可能的值(和一些組合),但是這個東西根本不動。

屏幕上具有相同設置的其他元素正確移動。

我沒有用於此視圖控制器的XIB,但我嘗試在另一個XIB中臨時放置一個類似的分段控件,並且當我正確設置了該struts時,它確實按預期移動。

我在做什麼錯?

+0

您是否將分段控件添加到'self.view'或其中一個子視圖?因爲視圖只會調整其父項。 –

+0

我將它添加到self.view中,與調整大小/更改位置的其他控件相同。 –

回答

1

在您的視圖控制器的viewDidLoad方法發生以下日誌聲明:

NSLog(@"%@", [self.view recursiveDescription]); 

這將註銷您的視圖控制器的視圖層次。如果問題的日誌不明確,請將日誌添加到您的問題中,以便我們可以進一步提供幫助。