2012-03-09 65 views
1

我正在使用UISegmentedControl來顯示錶視圖的標題。當方向更改時,標題將根據下方表格視圖中的標籤調整大小。儘管通過IB連接起來,但我必須稍微移動手機才能觸發orientationChanged通知並更新寬度。我甚至嘗試在IB中將第一段寬度設置爲0,然後再次在viewDidLoad中設置,但是視圖加載時所有標題的寬度都是相同的。我試圖使用來確保視圖實際上在屏幕上,並且還調用setNeedsLayoutsetNeedsDisplay,但似乎沒有任何工作。我只需輕輕一撥電話。UISegmentedControl未重繪

這是一個錯誤,任何人有經驗或我犯了一個愚蠢的錯誤?

我設置如下的寬度:

[segSortOrder setWidth:0.0 forSegmentAtIndex:0]; 
+0

我不明白你的問題,屏幕截圖可能有幫助 – titaniumdecoy 2012-03-09 20:14:02

+0

問題是我需要使用自定義寬度由於UITableViewCells中不同的'列'寬度。視圖加載,直到方法被調用了幾次,或者使用'performSelector:afterDelay'來使用di稍後再調整resize方法,SegmentedControl中的所有段保持其默認寬度,儘管寬度設置爲'viewDidLoad'。 – Echilon 2012-03-09 20:16:34

+0

我仍然認爲你的問題只是不夠清楚,無法理解你正在嘗試做什麼。你真的需要附上截圖或線框是可能的。 – titaniumdecoy 2012-03-11 01:11:42

回答

0

我想出了這個問題的唯一解決方案是使用並使用self.view.bounds.size.width具有填充的可變量(多少是試驗和錯誤爲每個ViewController。不理想,但它的工作