首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSWindowController showWindow是否触发Embedded NSView setNeedsDisplay?

NSWindowController showWindow是否触发Embedded NSView setNeedsDisplay?
EN

Stack Overflow用户
提问于 2014-04-01 08:40:10
回答 1查看 134关注 0票数 0

我有一个带有自定义NSView的窗口。我使用NSWindowController在代码中从NIB加载它。

问:如果我发送NSWindowController的showWindow消息,它是否也会发送窗口层次结构中嵌入的自定义NSView的setNeedsDisplay消息?

EN

回答 1

Stack Overflow用户

发布于 2014-04-02 11:02:00

通常,只有在视图第一次出现后-drawRect中使用的值发生更改时,才需要发送[self setNeedsDisplay:YES]。它应该总是由self发送,其他对象应该永远不需要发送-setNeedsDisplay:消息,除非是为了解决错误或其他问题。

因为showWindow是在窗口最初被绘制到屏幕之前,所以您通常不需要-setNeedsDisplay:,除非(再次)您发现了一个bug。

如果您打开菜单项Xcode -> Open Developer Tool -> More Developer Tools...并搜索"graphics",您可以下载一个工具包,其中一个是Quartz Debug。使用此调试器,您可以在绘制屏幕时使屏幕闪烁黄色,并在屏幕绘制简单地重新绘制任何已经可见的内容时使屏幕闪烁红色。

您可以使用它来找出屏幕的哪些部分刷新得太频繁。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22774772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档