如何解决没有drawRect的Objective-C绘图:形状不会显示
|| 我有一个名为mapWindow的类,该类与IB中的窗口连接。 不管怎样,除非代码在drawRect下或移动窗口边框,否则我要程序渲染的红色圆圈不会显示。甚至没有解锁和锁定焦点也会更新窗口。 theOtherWindowView实际上是连接到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]
解决方法
继续在
-drawRect:
中画图。发送-drawRect:
时,将为您设置视图的坐标系和剪切边界,并且窗口的绘图上下文将为当前视图。
在该方法中,根据需要绘制尽可能多的圆圈。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。