macos - Block Mac UI 控制绘画/重画

标签 macos cocoa controls paint

您好,我想知道是否有人可以阐明如何启用/禁用从 nsview 继承的任何类的重绘?

我知道 Windows 有一条消息,您可以发送到 hwnd 以启用/禁用小工具绘制消息。这也会传播到子 hwnd。 Mac开发中是否有等效的方法?

我有一个现有的 GUI 库,我想知道是否有一种方法可以做到这一点,而不需要修改现有的源代码?

最佳答案

如果问题是您正在执行大量控件布局工作并且不希望在发生这种情况时进行绘制,则可以使用 [NSWindow disableScreenUpdatesUntilFlush] 或全局 NSDisableScreenUpdates()NSEnableScreenUpdates() 函数可防止屏幕更新,直到您准备好为止。

关于macos - Block Mac UI 控制绘画/重画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8175374/

相关文章:

swift - 无法在 Swift/Cocoa/NextStep 中将 JS 注入(inject) WKWebView/将 WKWebView 中网页上的用户选择推送到 Swift/Cocoa

cocoa - 适用于 Mac 的仪表板应用程序,这些也是基于 cocoa 的吗?

WPF Groupbox 控件标题与按钮和文本对齐相反

python - 在 Mac OS 终端中运行 python 时内存泄漏

xcode - 将文件移动到 Xcode 中的真实文件夹中

macos - 即使应用程序在白名单中,AXIsProcessTrustedWithOptions 也返回 NO

android - 无法在 Mac 模拟器上输入 editText

objective-c - 当多行时展开 EXCel

iphone - iPhone 的对话 ui 控件

asp.net - 循环控制