我有一个UITableViewController在点击一个单元格时推送一些视图:
switch(indexPath.row) {
case kFollowerSectionUpdatesCountRow:
stockTwitsView.reloadUpdates = TRUE;
stockTwitsView.showHomeButton = TRUE; //** reversed, true means hide the button
stockTwitsView.profileName = self.user_name;
stockTwitsView.msgSource = self.message_source;
[self.navigationController pushViewController:stockTwitsView animated:YES];
break;
case kFollowerSectionFollowerCountRow:
followSectionDetailView.username = self.user_name;
followSectionDetailView.loadFollowers = TRUE;
[self.navigationController pushViewController:followSectionDetailView animated:YES];
break;
case kFollowerSectionFollowingCountRow:
followSectionDetailView.username = self.user_name;
followSectionDetailView.loadFollowing = TRUE;
[self.navigationController pushViewController:followSectionDetailView animated:YES];
break;
}
除kFollowerSectionUpdatesCountRow
外,一切正常。它将推动视图,但如果我单击后退按钮,它会再次加载相同的视图而不是返回?我必须再次点击以返回原始屏幕。任何其他被推送的视图都不会发生这种情况。
不确定原因?
更新: 奇怪的是这部分是我的UITableView的第3部分。如果我将其更改为第二部分,则视图控制器仅被推送一次。为什么呢?
答案 0 :(得分:2)
你有可能两次推动视图控制器。很难从这段代码片段中看到,但在stockTwitsView视图控制器中查看viewWillAppear调用,看看它出现的次数(以及它们是否是不同的,唯一的对象)。
答案 1 :(得分:0)
当你回去时,你是否有机会调用pushViewController? 如果是这样,请不要这样做。导航回父调用者时无需调用pushViewController。