Jig*_*adu 6 uinavigationcontroller ios
我正在使用UINavigationController来处理控制器导航
在正常情况下
RegistrationView - > LoginView - > HomeView
从HomeView和任何其他下一个控制器,有一个名为Setting的屏幕打开,它有一个Logout Button.点击此按钮屏幕将在正常情况下弹出到LoginView.
- (IBAction)btnLogoutSelected:(id)sender
{
NSArray *navArr=self.navigationController.viewControllers;
for (UIViewController *nav in navArr)
{
if ([nav isKindOfClass:[LoginViewController class]])
{
[self.navigationController popToViewController:nav animated:YES];
}
}
}
Run Code Online (Sandbox Code Playgroud)
一旦用户将被注册并且如果用户登录一次,此处应用程序具有autoLogin功能.所以当时LoginView不会在导航计数中.所以在这种情况下上面的代码不起作用.所以当时我无法进入LoginView.我需要帮助来解决这个问题.提前致谢
如果您没有LoginViewController导航堆栈的实例,只需创建它:
LoginViewController* loginController = [[LoginViewController alloc] init]; //use appropriate initWith... method
Run Code Online (Sandbox Code Playgroud)
然后你可以使用viewControllersUINavigationController的属性.您可以用当前视图控制器替换loginController,或者loginController在给定索引处插入并弹出它.
NSMutableArray* newViewControllers = [self.navigationController.viewControllers mutableCopy];
[newViewControllers replaceObjectAtIndex:[newViewControllers indexOfObject:self] withObject:loginController];
[self.navigationController setViewControllers:newViewControllers animated:YES];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8192 次 |
| 最近记录: |