Cocoa - 添加后未显示的子视图

时间:2010-06-20 21:03:05

标签: cocoa views subview nsimageview

我试图将一些子视图添加到容器中(容器是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),但是也失败了(没有任何显示)。

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

重要提示:我已经就此主题提出了一个新问题(与此问题相关,但更详细,并附有源代码),所以每个想要帮助的人都请查看此问题:

New question
谢谢!

1 个答案:

答案 0 :(得分:1)

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