gpt4 book ai didi

objective-c - 如何指定在 Objective-C 中绘制哪个 NSView?

转载 作者:行者123 更新时间:2023-12-03 16:28:17 25 4
gpt4 key购买 nike

我发现了这个在 Objective-C cocoa 中绘制矩形的示例

NSRect r = NSMakeRect(10, 10, 50, 60);
NSBezierPath *bp = [NSBezierPath bezierPathWithRect:r];
NSColor *color = [NSColor blueColor];
[color set];
[bp stroke];

但是,我应该在代码中的哪里指定哪个 NSView 进行绘制?

例如,如果我有两个 NSView 对象,并且运行此代码,我如何指定要绘制哪一个?

最佳答案

您不会在 NSView 上运行此代码,而是在 NSView 子类的覆盖运行此代码-drawRect: 方法的一部分。

您需要创建自己的 NSView 子类,然后在该子类中重写 -drawRect: 并将以下代码放在那里:

@interface CustomView : NSView
@end

@implementation CustomView

- (void)drawRect:(NSRect)dirtyRect
{
NSRect r = NSMakeRect(10, 10, 50, 60);
NSBezierPath *bp = [NSBezierPath bezierPathWithRect:r];
NSColor *color = [NSColor blueColor];
[color set];
[bp stroke];
}

@end

最后,您当然必须实例化 CustomView 的实例并将其添加到您的 View 层次结构中,就像您通常对常规 NSView 所做的那样。

关于objective-c - 如何指定在 Objective-C 中绘制哪个 NSView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49016016/

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