如何处理iPhone中的后退按钮(iOS 8.2)

时间:2015-04-04 11:47:11

标签: ios objective-c iphone back ios8.2

在我的项目中,我使用了一些代码来处理后退按钮,如下所示。

NSMutableArray *VCs = [NSMutableArray arrayWithArray: self.navigationController.viewControllers];
if ([[VCs objectAtIndex:[VCs count] - 2] isKindOfClass:[LoginViewController class]])
{
    [VCs removeObjectAtIndex:[VCs count] - 2];
    [VCs removeObjectAtIndex:[VCs count] - 2];
}
[self.navigationController setViewControllers: VCs];

在iOS 7中,我得到了理想的结果。但是对于iOS版本8.2,可变数组VC中的值只是堆栈中的当前或topViewController。

我想从堆栈中删除登录屏幕viewcontroller,以便在单击后退按钮时,它不会返回到登录屏幕。我仅在iOS 8.2中遇到此问题(可能在iOS 8及更高版本中)。可能是什么问题?请帮忙。

1 个答案:

答案 0 :(得分:1)

是的,我无法正确回答你的观点 但是当我查看你的代码时,我发现你想在一堆导航中解雇一些登录viewController 我的建议是:不要以这种方式显示登录ViewController,它就像某种黑客代码,不方便扩展或修改登录工作流程。 最好的选择是将所有登录ViewControllers放在另一个导航中,在登录周期中工作。并且您可以按礼物显示导航 真的很方便!