代码之家  ›  专栏  ›  技术社区  ›  kubi

知道堆栈中我上方的UIViewController何时弹出的最好方法是什么?

  •  2
  • kubi  · 技术社区  · 17 年前

    我有一个 UIViewController UIViewController 放在堆栈上。用户完成编辑后,将从堆栈中弹出俯视图控制器。在“编辑”视图弹出后,我需要更新显示,最优雅的方式是什么?

    我想我可以把内容更新代码放到 viewDidLoad 方法,但在显示我的视图时并不总是调用此方法,尤其是在向下导航视图堆栈时。

    UINavigationController 等待 – navigationController:didShowViewController:animated: 恕我直言,我担心的是,当显示其他视图控制器时,可能需要通知它们,而管理哪个控制器应该接收该视图将成为一个小问题 didShowViewController

    1 回复  |  直到 17 年前
        1
  •  5
  •   leonho    17 年前

    我想我会成功的。

    否则,“编辑视图”控制器可以调用指向父控制器的委托的新方法。在其中,可以更新数据模型和显示。例如:

    - (BOOL)textFieldShouldReturn:(UITextField *)textField {
        if ([delegate respondsToSelector:@selector(editEntryByTitle:)])
            [delegate performSelector:@selector(editEntryByTitle:) withObject: textField.text];
        [textField resignFirstResponder];
        [self dismissModalViewControllerAnimated:YES];
        return YES;
    }