UIView 实时强制重绘(绘图应用)

Posted

技术标签:

【中文标题】UIView 实时强制重绘(绘图应用)【英文标题】:UIView force redraw in real-time (drawing app) 【发布时间】:2011-05-26 04:29:20 【问题描述】:

我正在开发一个绘图应用程序。 我正在收集笔画作为点并将这些点绘制到我的 UIView 子类的 drawRect 方法中。

我通过覆盖touchesBegantouchesMovedtouchesEnded 来收集要点。 在所有这些我称之为[self setNeedsDisplay]的方法中,我希望能实时看到笔画......它不会发生,实际上drawRect方法只有在touchesEnded之后才被调用

我需要一种方法来不简单地将视图标记为已丢弃,但我需要强制系统执行 drawRect 调用。

有什么想法吗?

【问题讨论】:

【参考方案1】:

您是否可能在视图控制器 (self) 而不是视图 (self.view) 上调用 setNeedsDisplay?

此外,您可能应该使用 setNeedsDisplayInRect 仅更新在触摸期间更改的视图部分。

【讨论】:

以上是关于UIView 实时强制重绘(绘图应用)的主要内容,如果未能解决你的问题,请参考以下文章

iOS重绘机制drawRect

iOS drawRect的作用和调用机制

UIView 不重绘,但元素错位

QPlainTextEdit 强制重绘

检测 UIView/UILabel 何时重绘自身?

IOS核心图形重绘