1

这里的第一个问题!我在一个应用程序中有两个故事板,一个登录和一个主。创建帐户后,用户进入 MainStoryboard,一切正常。但是在某些情况下,用户可能最终回到 LoginStoryboard 以编辑他们的帐户信息或只是注销,然后在需要时返回 MainStoryboard。

仅在 iOS 6 中(在 iOS 7 中,我无法重现),LoginStoryboard 有时会锁定或退出响应用户交互,但 UIButtons 通常可以工作。有时动画和子视图的框架看起来不正确。

复制:

LoginStoryboard > //login
MainStoryboard > //view content
LoginStoryboard > //update user info, for example
MainStoryboard > //back to content
LoginStoryboard > //back to user info

最后一步是出现问题并且用户被卡在 LoginStoryboard 中,因为没有任何响应响应交互。

这是我用来加载新故事板的代码示例...

    - (void)navigateToHomeScreen 
        UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"LoginStoryboard" bundle:nil];
        UIViewController *initialViewController = [storyboard instantiateInitialViewController];
        initialViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
        [self presentViewController:initialViewController animated:YES completion:nil];
    }

如果我在 LoginStoryboard 之间来回导航后在 didReceiveMemoryWarning 方法之一上设置断点,然后在子视图退出对用户的响应后在模拟器上模拟内存警告,则断点在不同的实例上被击中 2-3 次相同的视图控制器。

所以我认为我要么在我应该重用旧的视图控制器时创建这些视图控制器的新实例,要么旧的实例永远不会被释放。

感谢您的任何建议!

4

0 回答 0