2010-10-24 61 views
1

我有一個自定義的UISegmentedControl,我使用IB放置到導航欄中,就像在iTunes應用程序中完成的一樣。當設備以橫向模式旋轉時,我想重新填充分段控件以利用我在那裏的更多空間。獲取UISegmentedControl在旋轉到橫向後的寬度

我做的:

CGFloat controlWidth = self.frame.size.width;

其中自是自定義UISegmentedControl但總是返回310的寬度。

現在在這兩個代碼我還設置了以下調整面膜:

self.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin; 

這實際上使分段控制得當擴大。

有什麼建議嗎?

回答

0

這裏有兩件事情可以幫助:

  1. 一些有關的「頂級」視圖/容器不是「旋轉」 - 所以這實際上是框架保持不變 - 儘管它子視圖被旋轉並因此具有新的框架尺寸。

  2. 看那界限,而不是

我認爲無論哪一個(或兩者)都與你有關。

0

好的我想通了。它既不是最高級別的視圖/容器或邊界問題。我只是在錯誤的時間檢查。我已經調用了檢查shouldAutorotateToInterfaceOrientation中的寬度:當然,只有在旋轉之前調用它。咄。我用didRotateFromInterfaceOrientation並解決它。

感謝您的建議,因爲在嘗試完成後,我注意到我的方法在不同的時間被調用,並最終發揮作用,因此我認爲這是一個計時任務。

相關問題