我有一个名为mapWindow的类,它连接到IB中的窗口。
无论如何,我希望程序渲染的红色圆圈不会显示,除非代码在drawRect下或我移动窗口边框。甚至解锁和锁定焦点都不会更新窗口。
其他窗口视图实际上是一个连接到IB中自定义视图的NSView。
- (void)test
{
[theOtherWindowView lockFocus];
NSBezierPath *path = [NSBezierPath bezierPath];
NSPoint center = [self drawPoint];
[path moveToPoint: center];
[path appendBezierPathWithArcWithCenter:center
radius:explosionRadius
startAngle:0
endAngle:360];
[[NSColor redColor] set];
[path fill];
[theOtherWindowView unlockFocus];
}
我不想要使用drawRect,因为我想要多个实例不一个每次更新时都更改了坐标的形状。
我还尝试了[self lockFocus]
和[mapWindow lockFous]
答案 0 :(得分:2)
继续在-drawRect:
中绘图。发送-drawRect:
时,将为您设置视图的坐标系和剪裁边界,并且窗口的绘图上下文将是当前的。
在该方法中,根据需要绘制尽可能多的圆圈。