0

我有一个应用程序,有很多视图和子视图。

在我的应用程序委托中,我每次收到通知时都会打开一个子视图。我做了很多测试: - 通知总是收到很好的。- 子视图总是很好地创建,它永远不会为零。

但是在一两次通知之后,子视图不会再次显示,即使它们存在并且在内存中创建得很好。

我认为我的内存做错了,我可能误解了视图层次结构。

这是创建和添加子视图的代码:

AppDelegate.h

@property (retain, nonatomic) ViewControllerNewOrder *sub;

AppDelegate.m

sub = [[ViewControllerDriverNewOrder alloc] init];
sub = [mainStoryboard instantiateViewControllerWithIdentifier:@"ViewControllerNewOrder"];
sub.view.frame = self.initialViewController.view.bounds;
[self.initialViewController.view addSubview:sub.view];

感谢您的时间和帮助!

4

1 回答 1

0

以下行挽救了我的生命:

[self.window.rootViewController.view.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];

然后我将方法 removeFromSuperView 添加到我需要清除的所有视图中。当然,您需要像我一样考虑将这条线放在哪里。

谢谢 ;)

于 2012-11-08T11:05:56.897 回答