2015-04-08 69 views
0

我有一個在我的tableViewCells線圖,以某種方式繪製,我不能簡單地調用一個函數來重畫它。所以要重畫這張圖表,我想我需要完全重繪整個tableView重繪UITableView或UITableViewCells

我需要重新繪製它的原因是它沒有響應。因此,當我更改設備的方向時,圖表不會自動調整爲新尺寸。

當我改變設備的方向時,我得到了一個函數調用。但是我無法重新繪製我的UITableView

我已經試過:

self.view.setNeedsDisplay() 
tableView.setNeedsDisplay() 
self.view.setNeedsLayout() 
tableView.setNeedsLayout() 
self.tableView.reloadData() 

其中沒有似乎重繪我的tableView,像它加載的viewController時被畫。

我不使用故事板,而是使用約束。

任何幫助獲取完整的tableView或只是lineChart重繪將不勝感激。

這是我用我的線型圖庫: https://github.com/zemirco/swift-linechart

+0

這樣如何 selt.tableView.dataSource =零; self.tableView.delegate = nil; self.tableView.reloadData() self.tableView.dataSource = self; //或者你擁有的任何數據源 self.tableView.delegate = self; //或者你擁有的任何代表 self.tableView.reloadData(); –

+0

也沒有工作。 –

+0

嘗試在以前的行上添加此行。 while(tableView.dequeueReusableCellWithIdentifier()!= nil){} –

回答

0

你要打電話重繪細胞reloadData實例方法。並且爲了自動調整用戶界面,您需要爲表格使用自動調整屏蔽並查看用於行的視圖。

+0

正如我已經嘗試過的文章中提到的:'self.tableView.reloadData()'As爲自動調整。首先我不使用故事板,所以我把它設置爲false。我正在使用約束。 LineChart的大小正在正確調整大小。但它內部的行不會自動重繪。 –

0

嘗試手動設置UITableView幀,然後調用reloadData

+0

你能詳細說明設置框架嗎? (我正在使用約束),這是它應該需要的一切:'self.view.addConstraints( NSLayoutConstraint.constraintsWithVisualFormat( 「V:| -8- [tableView] |」,options:nil,metrics:nil,views :viewsDictionary))'和一個水平約束來獲得全部寬度。 –