【发布时间】:2014-09-06 14:49:42
【问题描述】:
当我使用滑动返回上一个视图时,我的应用出现了奇怪的图形故障。
当我正常滑动并完成滑动手势时,一切正常。
当我取消滑动手势时,即:开始手势但然后向相反方向移动手指以停止手势并停留在当前视图。
我遇到的问题如果我然后返回上一个屏幕,该视图的 barbutton 项目与前一个视图中的 barbutton 项目重叠。
截图: 起点:
向后滑动手势和完成手势,转到上一个视图,正常工作:
回扫手势和取消手势,停留在当前屏幕,然后返回上一屏幕,文本按钮重叠:
此图形故障仅在强制退出应用并重新启动时才会消失。当然,如果你再次引发故障,它会再次出现。
希望有一些开发人员遇到同样的问题。
编辑,问题原因如下代码:
- (void)resetCacheAndRefreshTableAnimated:(BOOL)animated {
[NSFetchedResultsController deleteCacheWithName:kCDFollowedCacheName];
[self setSortDescriptorsForFetchRequest:self.fetchedResultsController.fetchRequest];
NSError *error = nil;
[self.fetchedResultsController performFetch:&error];
[self.tableView reloadData];
}
此方法在 ViewWillAppear 中调用。删除方法调用后,问题就消失了。有什么想法吗?
【问题讨论】:
-
请贴一些代码。我可以想象的是你可能没有清除移动的视图,所以即使你在移动中间取消了手势,已经移动的视图也不会重置。
标签: ios objective-c iphone xcode uinavigationcontroller