2015-04-08 46 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))'和一个水平约束来获得全部宽度。 –