ViewControllers不会从scrollview中删除

时间:2015-10-25 00:26:56

标签: ios objective-c

我的项目正在使用ARC和目标c。

我遇到了麻烦

在我的scrollview中创建的ViewControllers。他们不会被删除    完全。
我所做的是我在主要内部创建了一个 UIScrollView      视图控制器。然后我创建了另外两个ViewControllers。


我将2个viewControllers放在UIScrollView中,如下所示:

 ViewController1 * test1 = [[ViewController1 alloc] init];

 ViewController2 * test1 = [[ViewController2 alloc] init];

 [scrollview addSubview:test1.view];

 [scrollview addSubview:test2.view];

它可以工作,我可以从viewControllers中看到我的两个设计。但是当我尝试从主viewController中删除两个viewControllers并稍后将它们添加回来时会创建新的视图,但下面仍然存在相同的旧视图。我想从主viewController中完全删除它们并改为创建新的。

我正在那样删除它们:

[test1 removeFromParentViewController];
[test2 removeFromParentViewController];


[test1.view removeFromSuperview];
[test2.view removeFromSuperview];

我第二次添加新视图的代码就像第一次一样,但这里是:

 ViewController1 * test1 = [[ViewController1 alloc] init];

 ViewController2 * test1 = [[ViewController2 alloc] init];

 [scrollview addSubview:test1.view];

 [scrollview addSubview:test2.view];

但我只是在删除完成后才这样做。

固定IT

问题是我使用的是基于块的通知处理程序,有时会阻止应用程序调用dealloc来释放我的viewcontrollers。我测试过任何使用基于块的东西会阻止应用程序调用dealloc修复是停止/释放基于块的通知,然后对视图进行删除调用。

1 个答案:

答案 0 :(得分:0)

固定IT:

问题是我使用的是基于块的通知处理程序,有时会阻止应用程序调用dealloc来释放我的viewcontrollers。我测试过任何使用基于块的东西会阻止应用程序调用dealloc修复是停止/释放基于块的通知,然后对视图进行删除调用。