ios - popToRootViewControllerAnimated 后崩溃

标签 ios crash uitabbarcontroller nszombie

我在尝试切换到另一个 VC 时遇到了崩溃。 这是结构:

TabBarController [主页、Tab2、结果选项卡]

从这些选项卡中,我可以推送一个名为 addVC 的新 viewController,它包含一个 UITextField

我想做的是能够遵循以下顺序: Tab2/Home (step1) => addVC (step2) => Result tab (step3)

为此,我在 addVC 中使用了这段代码:

[self.navigationController popToRootViewControllerAnimated:NO];
UITabBarController *tabbarController = ((UITabBarController*)appDelegate.window.rootViewController);
[tabbarController setSelectedIndex:2];

它大部分时间都有效,但是如果当我弹出然后按下结果选项卡时焦点位于文本字段中,则在没有崩溃的情况下无法再访问步骤 1 中的选项卡。

崩溃日志是:

[addVC respondsToSelector:]: message sent to deallocated instance 0x10977e60

NSZombie 告诉我 [UITextField canBecomeFirstResponder] 已被调用,导致崩溃。

因为我使用的是 Storyboard ,所以除此之外什么都不是以编程方式完成的。我想我去第 3 步的方式不正确。 我正在使用 ARC,我不会自己发布任何东西。

有什么想法吗?

提前致谢。

最佳答案

对于那些可能遇到同样问题的人,解决方案是使用这个:

[self.view endEditing:YES];

在弹出任何内容之前,否则键盘仍然显示,这就是导致崩溃的原因。

关于ios - popToRootViewControllerAnimated 后崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25267767/

相关文章:

ios - WKWebView LayoutConstraints 问题

iphone - 是否有用于 iPhone 开发的颜色选择器库/代码?

ios - 选项卡式 iOS 应用程序中的单个选项卡不断崩溃

objective-c - 应用程序在 Mac 上崩溃

ios - UITabbar背景图片iPhone 6问题

ios - 从代码中呈现 tabBarController 会删除导航栏按钮和标题

ios - 将标签栏与 MVVM Light (iOS) 结合使用

ios - 如何在 Xcode 中使用 iOS 中的 libarchive?

iphone - UILabel 的问题

c - atoi() 使程序崩溃