【问题标题】:UIWebView redraw on rotateUIWebView 在旋转时重绘
【发布时间】:2012-10-24 22:53:58
【问题描述】:

我已经在自定义 UIView (TSAlertView) 中实现了一个 UIWebView 对象。我的 UIWebView 位于 UIView 的中间,作为子视图。

当我旋转 iOS 设备屏幕时,UIWebView 对象会在旧屏幕上重绘,而不会删除旧屏幕。当屏幕旋转时,这个自定义 UIView 的所有其他元素都会被销毁并重绘。

我想我一定错过了某种用于释放资源或从视图中删除 UIWebView 的过程。我尝试在 UIWebView 的声明中添加“自动释放”,但无济于事。我想知道这是否是我在创建 UIWebView 的方式上所做的简单疏忽的常见症状?

这似乎是一个简单的案例,即在每次旋转时重绘之前不告诉 UIWebView 对象它应该自行销毁 - 但我不知道该怎么做...

感激地接受任何智慧。

【问题讨论】:

  • 轮换发生时你到底在做什么?您是再次创建 UIWebview 还是只是修改旧的框架?

标签: objective-c uiwebview


【解决方案1】:

理想情况下,您不应在旋转时再次创建视图。相反,您可以适当地重新排列委托中的框架。在您的情况下,您可能会再次创建 UIWebView,这应该避免。取而代之的是,您可以将其保留为类级别参数(在 .h 文件中声明)并在委托方法中调整框架以进行旋转。另请注意,release/autorelease 不会从超级视图中删除您的视图。您需要调用removeFromSuperview 方法来实现。

Check this for view resizing and layout handling

【讨论】:

    猜你喜欢
    • 2012-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 2019-12-17
    相关资源
    最近更新 更多