动态添加的子视图消失

问题描述 投票:1回答:1

我有一个UIView,它被创建并动态添加为子视图,而不是在界面构建器中。问题是子视图最终会消失,屏幕上剩下的所有内容都是正在加载的xib中定义的对象。

一旦子视图的retainCount从3下降到2,它似乎就会发生。我对iPhone开发相当新,并且不完全理解内存管理的复杂性,所以我可能会遗漏一些明显的东西。可能是我的问题?

iphone objective-c memory-management uiview subview
1个回答
1
投票

这只是一个疯狂的猜测,但是低内存警告可能导致视图从内存中被清除,并且当它重新加载时视图不再存在,因为如果发生这种情况,viewDidLoad中没有任何内容可以重新显示它。您可能需要将视图存储在ivar中,然后让viewDidLoad再次添加它(如果存在)。

您可以通过在模拟器中运行来测试此理论,然后使其生成低内存警告,以查看是否会使视图消失。如果当前显示视图,我认为不会发生这种情况,因此请确保当时显示其他视图。

© www.soinside.com 2019 - 2024. All rights reserved.