许多应用都有这种效果,你点击单元格,它转换到一个新的视图控制器,然后当你弹出该视图控制器返回到单元格时,你点击到达那里的单元格才会淡出。基本上,当你返回到视图控制器时它只会淡出,为你提供一个非常好的视觉队列,你可以使用哪个单元格。
例如,它在Mail.app中可见。
我该怎么做?我似乎只能让它立即消失或根本不消失。
答案 0 :(得分:2)
例如,您有两个视图控制器,ListViewController
(表1)和DetailViewController
。
selectedIndexPath
(NSIndexPath类型)。在ListViewController.m中 - > didSelectRowAtIndexPath
,将其值设置为当前indexPath
selectedIndexPath = indexPath;
现在当您点按DetailViewController
上的后退按钮并返回ListViewController
时,viewWillAppear
会调用ListViewController
方法。
ListViewController.m - > viewWillAppear中
if (selectedIndexPath != nil) {
// 1. get the cell using cellForRowAtIndexPath method from selectedIndexPath position
// 2. now you can set cell.contentView.alpha = 0
// 3. write an animation block which will set alpha to 1 in particular time block, let say 1 sec.
[cell.contentView setAlpha:0.0f];
[UIView animateWithDuration:1
delay:1.0
options: UIViewAnimationCurveEaseOut // change option as per your requirement
animations:^{
[cell.contentView setAlpha:1.0f];
}
completion:^(BOOL finished){
NSLog(@"Done!");
}];
}
根据您的要求更新动画块。
希望这有帮助。