取消选择行的适当位置

时间:2012-04-12 01:00:20

标签: ios uitableview user-interface uiviewcontroller viewwillappear

我一直在尝试使用UITableView的deselectRowAtIndexPath:来帮助用户知道返回到tableview时正在查看哪一行。

我注意到我可以将它放在viewWillAppear和viewDidAppear中,结果略有不同。第一个在弹出视图滑出时开始动画,而后者仅在弹出视图完全消失后才开始动画。结果,后者感觉更“明显”,我想(更多的动画发生在屏幕上的行完全 - 实际上所有这些)。

在美学上,这是一个有用的区别,因为我可以更好地控制用户体验。但是,有些问题:

  • 是否有任何技术原因我应该使用一个而不是另一个?
  • 仔细查看我认为的一些Apples应用程序,他们在viewWillAppear中进行动画制作。任何人都可以确认吗?
  • 使用viewWillAppear是否存在动画将在屏幕外完成的风险(可能是由于弹出视图控制器中的某些滞后处理等)?或者它只是在弹出视图转换开始时触发?

1 个答案:

答案 0 :(得分:0)

1)如果您的代码依赖于完全加载的视图,那么viewDidAppear会更好,但在这种情况下,我认为它不会产生技术差异。

2)我不认为我们中的任何人在Apple工作......

3)viewWillAppear按定义在视图开始显示之前调用。如果您的动画花费的时间比视图显示的时间长,那么它将在屏幕外显示。否则它将是(动画长度 - (减去)视图出现的时间)