当我选择任意一行导航屏幕时,它会以蓝色突出显示。当我通过后退按钮进入屏幕时,我想用蓝色选择这一行。意思是当我通过后退按钮进入上一个屏幕时,应该指示选择了哪一行。
答案 0 :(得分:1)
将tableview控制器的clearsSelectionOnViewWillAppear
属性设置为NO(仅适用于iOS 3.2及更高版本)。
答案 1 :(得分:0)
Dhavi,
请注意Apple的HIG(here)建议在视图被推回后取消选择该行。
如果你真的想让它突出显示,只是不要在didSelectRowAtIndexPath
中取消选择任何东西......当你取消选择行时,会发生这样的代码:
[tableView deselectRowAtIndexPath:indexPath animated:YES];
表格将选择为蓝色(或灰色或您使用的任何自定义),将新视图推入堆栈,然后当您点击后退按钮时,它会短暂地显示该单元格被突出显示为您的用户视觉参考它们的位置。如果该代码不在didSelectRowAtIndexPath
中,则不会取消选择。
答案 2 :(得分:-2)
// Save the currently selected row before navigating to a new view
- (NSIndexPath *)indexPathForSelectedRow;
// Select the row in viewDidLoad when returning to view
- (void)selectRowAtIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated scrollPosition:(UITableViewScrollPosition)scrollPosition;