Cri*_*ter 7 delegates objective-c uiview uinavigationcontroller
我有一个加载视图的视图,需要将视图推送到主导航控制器.
我为每个视图设置了一个委托,基本上让我的呼叫备份到主导航控制器的"链".
它有效,但我很好奇是否有更好(更容易?)的方法来实现这一目标?
您可以使用NSNotificationCenter发送NavigationController将响应的消息.
在您需要调用NavigationController的视图中,您可以编写如下内容:
[[NSNotificationCenter defaultCenter] postNotificationName:@"DoWork" object:nil];
Run Code Online (Sandbox Code Playgroud)
@"DoWork"另一个对象将响应的唯一(最可能)消息名称在哪里.
在您的NavigationController中,您需要添加一个观察者才能捕获该通知,如下所示:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(doWork) name:@"DoWork" object:nil];
Run Code Online (Sandbox Code Playgroud)
@selector(doWork)发布通知时要在哪里执行选择器,并且@"DoWork"是您要响应的通知.
Ste*_*ani -1
根据您设置程序的方式,如果您的 App Delegate 包含 UINavigationController您可以从任何地方访问导航控制器:
[[[NSApp delegate] navigationController] pushViewController: myVC animated:YES];
Run Code Online (Sandbox Code Playgroud)
但同样,只有当您的应用程序委托包含UINavigationController.
| 归档时间: |
|
| 查看次数: |
620 次 |
| 最近记录: |