問題描述
相信大家都會遇到過這種情況:
進入下一頁面,並且在下一頁面執行某一動作,返回要刷新,沒有執行某一動作,返回不刷新。也就是當前頁面要實現按照需求刷新頁面
實現思路
在當前頁面定義個Bool類型屬性 isNeedRefresh,在viewWillAppear中進行判斷是否需要刷新。在第二頁面中重寫返回按鈕。
通過 self.navigationController.viewControllers來獲取上衣頁面的ctl
實現代碼
當前viewcontroller
@property (nonatomic, assign) BOOL isNeedRefresh;//是否需要刷新 - (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; if (self.isNeedRefresh) { NSLog(@"執行刷新了"); [self loadData]; } }
#pragma mark 重寫返回按鈕 - (void)LeftBtnClicked:(UIButton *)sender{ [self.view endEditing:YES]; [NSObject cancelPreviousPerformRequestsWithTarget:self]; UIViewController *ctl = self.navigationController.viewControllers[self.navigationController.viewControllers.count - 2]; if ([ctl isKindOfClass:[AddServiceViewController class]]) { AddServiceViewController * ctl2 = (AddServiceViewController*)ctl; ctl2.isNeedRefresh = YES; [self.navigationController popToViewController:ctl2 animated:YES]; }else{ [self.navigationController popViewControllerAnimated:YES]; } }