我在重新加載表格單元格內的自定義UIView
(SBBarChart
)時出現問題。我不使用自動佈局,因爲它太難調整它可能存在或不存在的單元的所有組件。我手動計算每個矩形和那個工作。旋轉後錯誤地重新加載
關於旋轉,我試着在表格視圖控制器中執行willRotateToInterfaceOrientation
方法,裏面有[self.tableView reloadData]
。這將在旋轉後再次生成單元格。精細。
在單元類的內部,我調用[self.barChart setNeedsDisplay]
以確保圖表的子視圖將被重新加載,這是可行的。
現在的問題。最初,縱向視圖打開並正確加載。當我旋轉到風景時,這也起作用。當我旋轉回肖像時,條的長度計算正確,但仍然顯示爲橫向。因此,新的矩形爲酒吧有正確的措施,但酒吧顯示太長,部分在屏幕之外。
正確顯示(和居中)框架的相同度量的標籤,所以它應該是條視圖重新加載的問題。
我在做什麼錯?
謝謝你的答案,但我想要的是用條形圖填充屏幕的寬度。所以圖表的代碼是'self.barChart.frame = CGRectMake(20,self.barChart.frame.origin.y,self.frame.size.width - 60,self.barChart.frame.size.height);' 。計算工作正常,但矩形仍然太長。我試過'[self.barChart setNeedsDisplayInRect:self.barChart.frame];'沒有幫助。對於標籤,我做'self.myLabel.frame = CGRectMake(self.barChart.frame.origin.x,self.barChart.frame.origin.y,self.barChart.frame.size.width,self.barChart.frame .size.height);'那是有效的。 – Antiohia 2013-04-26 06:30:17