1

所以我从另一个开发人员那里接手了一个应用程序,在 iOS 6 中的生活很美好。不幸的是,他们使用 Storyboard + Segues 来控制应用程序的导航,这完全是一团糟。我在 iOS7 中遇到的问题是,当用户经过几次转场并完成时,应用程序会尝试使用 popViewControllerAnimated 向后导航。

此代码导致错误:

    ((PhotoCaptureViewController*) self.navigationController.viewControllers[self.navigationController.viewControllers.count - 2]).editedImage = _image;
    ((PhotoCaptureViewController*) self.navigationController.viewControllers[self.navigationController.viewControllers.count - 2]).popBack = YES;

    [self.navigationController popViewControllerAnimated:YES];

这段代码似乎可以向后导航:

[self.navigationController popViewControllerAnimated:YES];

显然,我认为通过 navigationController 的 viewController 数组进行强制转换和欺骗不是一个好主意(尤其是没有自省),但为什么这只会在 iOS7 中引起问题?在Apple 的 iOS 7 Api Diffs中,我没有看到 popViewControllerAnimated 被弃用,所以我很茫然。

我什至不会提到故事板的布局有多糟糕,我会用我的周末来修复那个 PITA。

4

0 回答 0