我遇到了一些让带有大CAEAGLLayer的UIView正确显示的问题。如果帧大于某个大小(显然是两个维度中的768,contentScaleFactor为2.0),它将使用缓冲区以前版本的扭曲图像进行重绘。
在苹果的GLPaint示例中,这很容易重现。PaintingView.m的硬编码contentScaleFactor为1.0,但如果您将其更改为2.0:
self.contentScaleFactor = 2.0;并在Retina iPad (不是模拟器)上运行,当你绘图时,你会得到类似这样的东西:
http://imgur.com/jPNqV
发布于 2012-03-19 00:36:00
这似乎是在视网膜iPads上将kEAGLDrawablePropertyRetainedBacking设置为YES的错误,正如Orion在this question中所报告的那样。将其设置为NO using
eaglLayer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:NO], kEAGLDrawablePropertyRetainedBacking, kEAGLColorFormatRGBA8, kEAGLDrawablePropertyColorFormat, nil];删除出现故障的绘图,但GLPaint依赖于画笔的保留支持,因此如果这样做,它将不会正常工作。
我已经为此提交了一份错误报告(rdar://11070429),并将修改后的GLPaint作为此行为的测试应用程序。
https://stackoverflow.com/questions/9757052
复制相似问题