我有一个小注册“对话框”,只是一个带有两个按钮的视图,我使用...
调用self.registerController = [UIStoryboard storyboardWithName:@"mainStoryboard" identifier:@"registerVC"];
[self.window addSubview:self.registerController.view];
[self.window bringSubviewToFront:self.registerController.view];
调用此代码时,视图将按预期显示。当用户单击其中一个按钮时,它会调用:
[self.registerController.view removeFromSuperview];
self.registerController = nil;
但观点并未消失。应用程序的其余部分保持正常运行,但“对话框”仍然存在于所有内容之前。因此,当您尝试关闭它时,通过单击“取消”按钮,它会将该消息发送到nil实例并且应用程序崩溃。
我怀疑这是显而易见的事情,但我一如既往地想念它。
答案 0 :(得分:0)
迈克尔的帖子(上图)发现了这个问题,但还有一点神秘感。
我们的应用程序要求您最终注册一个电子邮件地址。当您第一次运行应用程序时,它会显示对话框,要求您这样做。这是通过在applicationDidBecomeActive中调用来处理的。
无论出于何种原因,applicationDidBecomeActive被调用两次。因此,屏幕上有两个对话框副本。按钮在其中一个上工作正常: - )
但为什么applicationDidBecomeActive会被调用两次?这是期待吗?