我正在使用pushViewController在我的应用程序中推送视图。按后退按钮约95%的时间就像你期望的那样。但是,如果我尽可能快地进出视野,我会遇到一种情况,即顶部栏像流行音一样移动,但视图显示。在这种状态下,我剩下一个后退按钮,(在正常操作中,我已将该按钮的文本更改为“取消”)。按下后会再次对顶部条形进行动画处理,然后我在顶部条中没有任何按钮,并且我被卡在视图中。pushViewController后跟'后退'按钮有时不弹出视图
你知道这里可能会发生什么吗?这里有一些更多的细节:
副视点称这些一次或两次:
[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
[[UIApplication sharedApplication] endIgnoringInteractionEvents];
也子视图延伸的BaseViewController。在这个基本控制器内部,所有的视图方法都被重载(它们只是称为超级)。这可能是有趣的一个是:
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self customizeNavigationBar];
}
- (void)customizeNavigationBar
{
[self.navigationController.navigationBar setTintColor:UIColorFromRGB(kNavigationBackgroundColor)];
UIBarButtonItem *backButton_ = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"ID_BUTTON_BACK", @"") style:UIBarButtonItemStyleBordered target:self action:nil];
self.navigationItem.backBarButtonItem = backButton_;
[backButton_ release];
}
请让我还是知道,如果你需要更多的代码,如果我能更好地解释事情。
---编辑---- 我也打电话给谷歌分析在视图中会出现。我记得在我的应用程序这引起其他问题:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
NSError *error;
if (![[GANTracker sharedTracker] trackPageview:@"/app_new_page"
withError:&error]) { }
}
该代码被放在我的实际视图(不BaseViewController)。
您是否试过使用标准后退按钮而不是定义自己的后退按钮? – 2012-07-23 11:39:38
可能是导航堆栈已损坏。例如:你在viewDidLoad中推入了另一个视图控制器 – NeverBe 2012-07-23 14:07:33