我第一次调用SetNeedsDisplayInRect时,在IOS5中注意到它会导致设备刷新全屏。 这与以前的IOS版本不同。IOS 5 SetNeedsDisplayInRect导致全屏失效
在我正在处理的应用程序中我需要绘制一个对象数组(大多数是矩形,具有不同的线条大小)。 如果我想重绘只有几个矩形,我将对象添加到“更新” - 阵列并调用SetNeedsDisplayInRect以使矩形的区域无效。
里面我的drawRect法我确定就是这样,要么绘制对象的完整阵列,或只是“更新阵”:
BOOL boolDrawFullScreen = CGRectEqualToRect(rect, self.frame);
if (boolDrawFullScreen)
//draw all the objects
else
//draw just the objects within the update-array
这个完美工作,直到我与IOS5进行了测试。 实际上它仍然有效,但不是第一次调用SetNeedsDisplayInRect时: - > CGRectEqualToRect总是返回yes。
这是为什么?我究竟做错了什么?
任何建议都高度赞赏! 感谢
汤姆
这看起来像是iOS5中的一个错误 - 我也遇到了它。 –