0

我试图向容器添加一些子视图(容器是 NSView 派生类,子视图是一些 NSImageView 对象)。由于尝试不同的东西,代码现在很乱,我暂时不会全部粘贴。

这是我添加子视图的部分:

NSImage *tileImage;
tileImage = [[NSImage alloc] initWithContentsOfFile:[textures objectAtIndex:i]];        
NSImageView *imageView;
imageView = [[NSImageView alloc] init];
[imageView setImage:tileImage];
[self addSubview:imageView];

NSRunInformationalAlertPanel(@"Count subviews", [NSString stringWithFormat:@"%d",[[self subviews] count]], @"OK", NULL, NULL);
[self setNeedsDisplay:TRUE];

NSRunInformation... 显示 18(这是我正在加载的正确文件数)。图像还可以,我在此之前将它们直接显示到容器视图中。

正如我所说,问题是加载后没有显示任何内容。也许我必须做点别的?

我使用来自 Apple 的示例代码 COCOASLIDES 作为指导,最初我试图加载一个更复杂的子视图(使用在 Interface Builder 中创建的自定义 xib),但这也失败了(没有显示)。

也许有人可以指出一些提示,一些指导方针。谢谢。

重要提示:我已经就该主题提出了一个新问题(与此问题相关,但更详细且带有源代码),因此希望提供帮助的每个人都请检查此问题:

新问题
谢谢!

4

1 回答 1

1

NSView 的指定初始化程序是 -initWithFrame: ... 没有框架,它的父视图中的视图在哪里?

于 2010-06-20T22:01:21.883 回答