我的導航欄中有2個視圖View1
和View2
。 View1
是tableView
。所以我想要做的是deselectRow when I come back from
View2 to
View1`。這工作正常,如果只是這樣做:iPhone:重新加載後取消選擇RowAtIndexPath
- (void)viewWillAppear:(BOOL)animated {
NSIndexPath *myIP = [NSIndexPath indexPathForRow:0 inSection:0];
[self.tableView deselectRowAtIndexPath:myIP animated:NO];
}
而且我需要重新加載該行。但是,如果調用reload
,deselect
不工作:
- (void)viewWillAppear:(BOOL)animated {
self.navigationController.navigationBarHidden = NO;
NSIndexPath *myIP = [NSIndexPath indexPathForRow:0 inSection:0];
[self.tableView deselectRowAtIndexPath:myIP animated:NO];
[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:myIP] withRowAnimation:UITableViewRowAnimationNone];
}
我也試圖select
行deselect
它,這樣的作品,但問題是,我打開視圖1在第一時間或從另一種觀點,我看取消動畫
- (void)viewWillAppear:(BOOL)animated {
self.navigationController.navigationBarHidden = NO;
NSIndexPath *myIP = [NSIndexPath indexPathForRow:0 inSection:0];
[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:myIP] withRowAnimation:UITableViewRowAnimationNone];
[self.tableView selectRowAtIndexPath:myIP animated:NO scrollPosition:UITableViewScrollPositionNone];
[self.tableView deselectRowAtIndexPath:myIP animated:NO];
}
有什麼建議嗎?在此先感謝...
(更新我的答案,使用選擇方法的表格行) – Simon
這通常是這樣做的方式。正如Simon所說的,只需添加[self.tableView deselectRowAtIndexPath:indexPath.row];到您的didSelectRowAtIndexPath tableView委託方法的末尾。 –