UITableView didSelectRowAtIndexPath返回错误的行索引(iOS7)

时间:2013-10-04 13:27:08

标签: iphone ios objective-c ios7

我有一个班级为" myUIImage"从UIScrollView延伸。它有一个UIImageView变量。 ViewController代表" UITableViewDataSourceUITableViewDelegate"。

当我将myUIImage对象添加到cellforRowAtIndexPath函数中的所有单元格中时(使用填充整个单元格的cellview(帧大小相同)),会出现问题。

当我触摸其中一行时,didSelectRowAtIndexpath会在iOS7上返回错误的行索引。它适用于旧版本。

我把示例xCode项目放在这里; https://www.dropbox.com/s/ps7cc8l51v0grxb/repeatboxDeneme.zip

感谢您的帮助...

EDIT1:

以下是视频示例。请仔细观察右下方的日志。 http://www.youtube.com/watch?v=5f8-nrlWCIY&feature=youtu.be

2 个答案:

答案 0 :(得分:1)

这在iOS 6和iOS7上都很完美,因为我看过你的代码。而且你的代码也很完美。但是有一个问题就是你没有使用可重复使用的单元。因此,它可能会产生与记忆相关的问题,而不是一种好的做法。

答案 1 :(得分:0)

这不是UITableView的正常行为。但在我看来,如果你在滚动时点击它就会发生,如果它停止它会记住你的最后点击位置。 我建议您在UITableView内的视图中插入Storyboard。将Delegate的{​​{1}}和DatasourceUITableView相关联,然后使用方法

Filesowner

也许以编程方式生成tableview的方式,缺少任何属性。另一种方法是,您可以查看右侧的numberOfSectionsInTableView numberOfRowsInSection cellForRowAtIndexPath didSelectRowAtIndexPath 设置,并可以更轻松地更改设置。