我有一个基于 GLKit
的应用程序,其中显示了一些简单的对象。
一切正常,除了屏幕旋转,在此期间 GLKView
没有更新(-drawRect:
没有被调用)。因此,在旋转过程中,投影矩阵不会根据动态变化的屏幕尺寸进行更新,并且对象看起来很糟糕(拉伸(stretch))。
最佳答案
这可能是瞎猜的,因为我没有任何 GLKit
经验,但我确实有 UIView
和 -drawRect 经验:
。尝试更改相关 View 的 contentMode 以重绘:
view.contentMode = UIViewContentModeRedraw;
这将告诉 View ,当它的边界发生变化时,它需要重新绘制它的内容。否则,UIView
将简单地尝试缩放其内容(contentMode 的默认值为 UIViewContentModeScaleToFill
)。这样做的原因是缩放那里的内容比重新绘制内容要容易得多,并且 UIView
被设计为尽可能高效。
关于ios - GLKit的-drawRect : is not called during screen rotation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15279846/