我已将UIWebView对象实现为自定义UIView(TSAlertView)。我的UIWebView位于UIView的中间,作为子视图。
当我旋转iOS设备屏幕时,UIWebView对象重新绘制在旧设备屏幕的顶部,而不删除旧的。旋转屏幕时,此自定义UIView的所有其他元素都将被销毁并重新绘制。
我想我一定错过了一些解除资源分配或从视图中删除UIWebView的过程。我尝试在UIWebView的声明中添加'autorelease',但无济于事。我想知道这是否是我在UIWebView创建方式上所做的简单疏忽的常见症状?
这似乎是一个简单的例子,它不告诉UIWebView对象它应该在每次旋转重绘之前自行销毁 - 但我不知道我怎么能这样做......
任何智慧都感激不尽。
答案 0 :(得分:0)
理想情况下,旋转时不应再次创建视图。相反,您可以适当地重新安排代表中的框架。在您的情况下,您可能会再次创建UIWebView
,应该避免这种情况。除此之外,您可以将其保留为类级别参数(在.h文件中声明)并在委托方法中调整框架以进行旋转。另请注意,release/autorelease
不会从超级视图中删除您的视图。您需要调用removeFromSuperview
方法来实现这一目标。