- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我的例子中,drawRect:
不会在每次调用 setNeedsDisplay
后立即调用。例如,我认为以下代码与我的情况相同。
for (int i = 0; i < 100; ++i)
{
[self setNeedsDisplay];
}
最佳答案
来自documentation :
When the actual content of your view changes, it is your responsibility to notify the system that your view needs to be redrawn. You do this by calling your view’s setNeedsDisplay or setNeedsDisplayInRect: method of the view. These methods let the system know that it should update the view during the next drawing cycle. Because it waits until the next drawing cycle to update the view, you can call these methods on multiple views to update them at the same time.
drawRect:
只会在下一帧绘制时被及时调用,这意味着您的整个循环将导致 drawRect:
仅在下一帧被调用一次渲染迭代。这节省了不必要的计算,因为它避免了绘制永远不会显示在屏幕上的帧。它还允许您在代码的不同位置进行多项更改,每次都通知 View 需要刷新,而不会降低性能,因为调用 setNeedsDisplay
只告诉绘图系统重绘下一帧需要;它不会强制立即呈现可能永远不会显示在屏幕上的帧。
关于ios - 如果我经常调用 setneedsdisplay,那么调用 drawrect 的频率是多少?这是为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30046574/
当运行 scala.util.Random().nextInt(3) 81 次时,我看到如下结果(Java 开发人员,请参阅 edit 了解这之间的关系): 200010202002112102222
在使用 native 应用程序在混合模式 C++/CLI 中调试时,我遇到了进程挂起问题。这是无法忍受的,我的调试几乎 70% 都会发生这种情况,我需要一次又一次地重新启动该过程。 是否有任何修补程序
我不知道这是一个错误还是某种误用/错误配置。希望有人能帮忙。谢谢! 如果我更改模块或 list 目录中的文件,通常会导致错误,大部分是以下类型 无法找到节点上的类 在节点上找不到定义类 当 Puppe
我是一名优秀的程序员,十分优秀!