繁体   English   中英

iPhone:无法在drawRect外的屏幕上绘图?

[英]iPhone: no way to draw on screen outside drawRect?

有没有办法在该视图的drawRect()方法之外绘制iPhone屏幕(在UIWindow中的UIView上)? 如果是这样,我如何获取图形上下文?

图形指南提到了类NSGraphicsContext,但相关章节似乎是来自Mac OS X文档的盲目复制/粘贴,并且iPhone SDK中没有这样的类。

编辑:我正在尝试修改触摸事件处理程序中的视图内容 - 突出显示触摸的视觉元素。 在Windows中,我使用GetDC()/ ReleaseDC()而不是InvalidateRect()/ WM_PAINT的完整循环。 试着在这里做同样的事情。 将活动(可触摸)元素排列为子视图是一个巨大的性能损失,因为它们有数百个。

不,绘图是drawRect: 's(或CALayer)的工作。 即使你可以在其他地方绘制,也会产生代码味道(就像在Mac上一样)。 任何其他代码应该只是更新您的模型状态,然后将自己设置为需要显示。

当您需要显示时,将显示代码移动到其他地方并不会让它更快。 当您不需要显示时(因此未设置为需要显示),如果显示代码位于drawRect:则不会显示。

我正在尝试在触摸事件处理程序中修改视图的内容 - 突出显示触摸的视觉元素。 在Windows中,我使用[Windows代码]。 ...将主动(可触摸)元素排列为子视图是一个巨大的性能损失,因为它们有数百个。

听起来Core Animation可能更适合这种情况。

我不认为我们可以在drawRect外面绘制...但是要获得当前的图形上下文,你所做的只是CGContextRef c = UIGraphicsGetCurrentContext(); 希望有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM