Car*_*ael 10 iphone storyboard ios
在视图控制器上,我有一个按钮,它将显示另一个视图控制器.从第二个视图控制器,我可以转到其他视图控制器,但不一定回到让我在这里的那个.如果是这种情况,我该如何删除原始视图控制器?
mbp*_*pro 27
你的描述在这里有点不清楚.这里可能有3种不同的情况:
在第一种情况下,您可以使用UINavigationController的方法:
- (UIViewController *)popViewControllerAnimated:(BOOL)animated
- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated
- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated
Run Code Online (Sandbox Code Playgroud)
并使用viewControllers属性在堆栈中导航.
在第二个,如果你想将层次结构分解为一个完全另一个视图控制器,那么只需通过以下方式执行:
[[[UIApplication sharedApplication] keyWindow].rootViewController dismissViewControllerAnimated:YES completion:nil];
[[UIApplication sharedApplication] keyWindow].rootViewController = newController;
Run Code Online (Sandbox Code Playgroud)
甚至更好:在第一行的完成块中添加第二行.
或者在第三种情况下,如果你只想做一个例外,但是否则留在导航控制器堆栈中,那么使用方法:
- (void)addChildViewController:(UIViewController *)childController
- (void)removeFromParentViewController
Run Code Online (Sandbox Code Playgroud)
Her*_*ker 20
这取决于您实际呈现当前视图控制器的方式.如果它是模态的,那么
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
如果是使用导航控制器推送的:
[self.navigationController popViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27093 次 |
| 最近记录: |