objective-c - 是否 setNeedsDisplay :NO have any use at all?

标签 objective-c cocoa nsview setneedsdisplay

在 Cocoa 中,当我们想要重绘一个 View 时,我们会向 View 发送一个 setNeedsDisplay: 消息,告诉 View 使用 YES 参数重绘自己。我想知道是否在任何情况下您想要发送 View setNeedsDisplay:NO,例如多线程环境,如果发送 View setNeedsDisplay:YES,那么在 setNeedsDisplay:NO 之后立即再次设置它会使 View 重绘自身。如果没有理由调用 setNeedsDisplay:NO,那么为什么要创建这样一个乏味的方法,他们可以在其中实现类似 [view redrawView]

的方法

最佳答案

setNeedsDisplay:NO 可用于您想要放弃之前调用的 setNeedsDisplay:YES 的情况。例如。有时将所有 subview 标记为需要显示然后运行算法取消标记其中一些会更容易。

关于objective-c - 是否 setNeedsDisplay :NO have any use at all?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12585508/

相关文章:

objective-c - 控制 Segue 目的地 返回按钮 导航栏

ios - iOS中如何在UITableView中添加UIProgressView

xcode - Cocoa app 在所有 mac 运行的应用程序之上创建透明 View

ios - ios拼图游戏几轮后崩溃

objective-c - 将选择器发送到另一个类。并创建一个类的实例

objective-c - 防止 NSOutlineView(或 NSTableView)在滚动时重绘

iphone - 如何管理多个异步 NSURLConnection 委托(delegate)?

objective-c - 重绘 NSView

cocoa - 单击表外某处时取消选择 NSTableView

objective-c - 如何调暗/禁用当前 View ?