我试图将一些子视图添加到容器中(容器是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
谢谢!
答案 0 :(得分:1)
NSView的指定初始化程序是-initWithFrame:...没有框架,其超视图中的视图在哪里?