2009-11-12 33 views
1

我是iPhone SDK的新手。UITableView选择高亮即使在tableView之后reloadData

我有一个UIScrollView和一个UITableView。 UITableView有4个单元格。我使用UIPageControl进行分页。

当用户选择时,单元格会突出显示,当用户滚动到下一页时,单元格保持突出显示。

我试过[tableView reloadData],在调用后我仍然可以看到UITableView上的选定行,我不明白。

我应该重绘UIScrollView吗?

有什么办法来清理选择?

感谢, [R

回答

0

您是否使用一个UIScrollView和/或UIPageControl滚动的UITableView? UITableView不需要这些滚动。

从您的描述来看,这听起来像是您没有正确地重复使用单元格。

建立一些代码,我们将有更多的工作。您可能必须向我们展示您的UITableView子类.m文件。

+0

我正在使用UIScrollView和UIPageControl。我想我的问题是如果我想要多个页面,每个页面都有一个UITableView,我真的需要一个UIScrollView吗?我只是采用了“PageControl”示例并添加了一个UITableView。 – 2009-11-12 22:58:00

+0

我想我明白了。在一个由PageControl控制的页面的ScrollView中有一个TableView来显示TableView的同级视图?这个TableView是否为每个页面填充了不同的数据集?或者你是否想要在不同的页面中显示TabelView的4行? – mahboudz 2009-11-13 01:00:52

+0

完全正确。是的,表格会为每个页面填充一组不同的数据。我没有填充这些数据的问题,我得到了不同的数据集。问题在于选择,一旦用户选择一个单元并移动到下一页,则在上一页中选择的行保持选中状态。如果我以某种方式取消选择前一页中的选择,也会取消选中。我想让页面记住选择。感谢您的协助。 -R – 2009-11-13 17:37:35

6

我在其他视图中包含表视图时看到了这种行为。如果你这样做,你需要手动清除当前选择。您可以通过拨打以下电话:

[tableView deselectRowAtIndexPath:[tableView indexPathForSelectedRow] animated:animated]; 

其中“动画”设置为符合您的需求。

如果您直接包含表视图(如另一个人注意到的,您表视图已经自动滚动,可能使您的UIScrollView不必要和错误的形式启动),这种行为是自动的。