在弹出它转换到的视图控制器之前,如何使单元格保持突出显示?
Posted
技术标签:
【中文标题】在弹出它转换到的视图控制器之前,如何使单元格保持突出显示?【英文标题】:How do you have a cell stay highlighted until you pop the view controller it transitions to? 【发布时间】:2014-12-14 07:38:05 【问题描述】:许多应用程序都有这种效果,当您点击单元格时,它会转换到一个新的视图控制器,然后当您弹出该视图控制器返回到单元格时,您点击到那里的单元格才会淡出。基本上,它只会在您返回视图控制器时淡出,从而为您提供一个非常好的视觉队列,了解您点击了哪个单元格。
例如,它在 Mail.app 中可见。
我该怎么做?看来我只能让它立即褪色或根本不褪色。
【问题讨论】:
这是UITableView
的标准行为。也许你应该显示你的代码didSelectRowAtIndexPath
。
@Doug Smith:如果对您有帮助,请将答案标记为已接受。
【参考方案1】:
例如,您有两个视图控制器,ListViewController
(表一)和DetailViewController
。
selectedIndexPath
(NSIndexPath 类型)。
在 ListViewController.m -> didSelectRowAtIndexPath
,将其值设置为当前 indexPath
selectedIndexPath = indexPath;
1234563ListViewController.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!");
];
根据您的要求更新动画块。
希望这会有所帮助。
【讨论】:
以上是关于在弹出它转换到的视图控制器之前,如何使单元格保持突出显示?的主要内容,如果未能解决你的问题,请参考以下文章
使 UIButton 保持在表格视图 rss 提要单元格的顶部 [重复]