这是我第一次涉足 Objective-c 图像的世界,我立刻遇到了困难。我拥有的是 TimeAdder.xib 中的一个自定义 NSWindow,它由一个名为 TimeAdder 的 NSWindowController 控制。一切都运行良好,现在我尝试添加我的蓝色小矩形。
我在窗口上所需的位置设置了一个大小为 16 x 16 的 NSImageView。然后我将以下代码添加到 windowDidLoad 方法中。
NSSize size;
size.width = 16;
size.height = 16;
image1 = [[NSImage alloc] initWithSize:size];
NSRect imageBounds = NSMakeRect (0, 0, size.width, size.height);
NSColor* fileSet1Color = [NSColor blueColor];
[image1 lockFocus];
[fileSet1Color set];
NSRectFill (imageBounds);
[image1 unlockFocus];
[pickImage1 setImage:image1];
pickImage1 是 NSImageView 的名称,是 TimeAdder 中的一个 ivar。image1 是 TimeAdder 中的一个 ivar,是一个 NSImage。size、firstSet1Color、imageBounds 都是局部变量,在方法完成后消失。不确定这是否重要。
代码执行并且不会导致任何类型的异常,但不会执行任何操作。有人对可能发生的事情有任何想法吗?