gpt4 book ai didi

objective-c - 我的 NSBezierPath 在 NSCFTimer 中发生变化

转载 作者:行者123 更新时间:2023-12-03 18:02:27 25 4
gpt4 key购买 nike

当我绘制这个对象时,它一次可以工作,但之后我的路径对象(女巫是 NSBezierPath)在 NSCFTimer 对象中发生变化。

- (void)draw {
NSRect drawingbounds = [self drawingbounds];
if(image == nil) {
image = [[NSImage alloc] initWithSize:drawingbounds.size];

[image lockFocus];
NSAffineTransform *transform = [NSAffineTransform transform];
[transform translateXBy:-drawingbounds.origin.x yBy:-drawingbounds.origin.y];
[transform concat];
[[NSColor redColor] set];
[path stroke];

[image unlockFocus];
[image retain];
}

[image drawAtPoint:NSMakePoint(10.0, 10.0)
fromRect: NSMakeRect(0.0, 0.0, 100.0, 100.0)
operation: NSCompositeSourceOver
fraction: 1.0];

}

- (NSRect)drawingbounds {
NSLog([path description]);
return NSMakeRect(10.0, 10.0, 100.0, 100.0);
return NSInsetRect([path bounds], -[path lineWidth] , -[path lineWidth]);
}

最佳答案

请发布创建 path 变量的代码。

听起来路径对象正在被释放,这就是为什么您在其内存位置看到另一个对象(NSCFTimer)。如果您没有正确保留 path 对象,就会发生这种情况。

关于objective-c - 我的 NSBezierPath 在 NSCFTimer 中发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4977785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com