2010-06-20 2 views
0

Im пытается добавить некоторые подвид в контейнер (контейнер - это производный класс NSView, а subviews - некоторые объекты NSImageView). Поскольку код запутан прямо сейчас из-за попыток разного материала, я не буду вставлять его все в настоящее время.Cocoa - subviews не отображается после добавления

Это та часть, где я добавить подвидов:

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 (это правильное количество файлов им загрузки). Изображения в порядке, я показывал их перед этим прямо в виде контейнера.

Как я уже говорил, проблема не отображается после загрузки. Может быть, я должен сделать что-то еще?

Im, используя код примера COCOASLIDES от Apple для руководства, изначально я пытался загрузить более сложное subview (с использованием пользовательского xib, созданного в Interface Builder), но это также потерпело неудачу (ничего не отображается).

Возможно, кто-то может указать некоторые подсказки, некоторые рекомендации. Спасибо.

ВАЖНО: Я задал новый вопрос (относящийся к этому, но более подробные и с исходным кодом) на эту тему, так что каждый, кто хотел бы помочь, пожалуйста, проверьте этот вопрос:

New question
БЛАГОДАРЯ!

+0

Duplicate of [Cocoa - загрузка изображения из наконечника и отображение его в контейнере NSView, как подзаголовок] (http://stackoverflow.com/questions/3083740/cocoa-loading-a-view-from-a -nib-and-display-it-in-a-nsview-container-as-a) (ОП опубликовал «разъяснение» как новый вопрос) –

ответ

1

Назначенный инициализатор для NSView -initWithFrame: ... без рамки, где находится вид в своем супервизоре?

+0

То есть, у меня должен быть NSImageView в xib? Не просто добавить его программно? – eemerge

+0

Нет, я имею в виду, что вы должны использовать initWithFrame: вместо -init при создании вашего NSImageView, если вы решите сделать это программно. Дайте ему фрейм, который имеет смысл в пределах предполагаемого супервизора. –

+0

Я внес изменения, пока ничего не показывает. – eemerge

Смежные вопросы