是否可以从iOS应用程序的任何位置"弹出"视图.
例如,我想要一个事件触发视图滑动(模态),并且事件可以在应用程序的任何屏幕上随时发生.
此外,我们希望这可以包含在其他项目中,并且希望他们不必对这些项目执行任何特殊操作(除了引用项目中的连线).
在这种情况下,您最好使用appdelegate,但这取决于您使用的应用程序类型.
在appdelegate中创建一个方法,您可以从任何视图控制器调用该方法
- (void)myMethod {
MyController *myController = [[MyController alloc] init];
[self.window.rootViewController presentModalViewController:myController animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
并且要解除此控制器,您必须在viewcontroller本身上创建操作.
注意:您一次只能拥有1个modelviewcontroller,因此请确保您的modelviewcontroller是一个navigationcontroller本身,以便将所有视图堆叠在其中.
像这样的东西,
- (void)myMethod {
MyController *myController = [[MyController alloc] init];
if([self.window.rootViewController modalViewController]) {
[(UINavigationController *)self.window.rootViewController.modalViewController pushViewController:myController animated:YES];
} else {
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:myController];
[self.window.rootViewController presentModalViewController:navController animated:YES];
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1775 次 |
| 最近记录: |