Я разрабатываю программу, в которой я программно добавляю NSImageView в пользовательский класс NSView. При создании представления изображения я передаю кадр родительского контейнера.
-(NSImageView *)loadNSImage:(NSString *)imageName frame:(NSRect)frame{
imageName = [[NSBundle mainBundle] pathForResource:imageName ofType:@"png"];
NSImage *image = [[NSImage alloc] initWithContentsOfFile:imageName];
NSImageView *imageView = [[NSImageView alloc]initWithFrame:frame];
[imageView setImage:image];
[imageView setImageScaling:NSImageScaleProportionallyUpOrDown];
[imageView setAutoresizingMask:NSViewHeightSizable | NSViewWidthSizable | NSViewMaxXMargin | NSViewMaxYMargin | NSViewMinXMargin | NSViewMinYMargin];
[imageView setImageAlignment:NSImageAlignCenter];
[image release];
return imageView;
}
Затем я использую метод addSubView
, чтобы добавить его в пользовательский вид. Проблема в том, что изображение обращается к левому нижнему углу родительского представления. Как разместить это изображение в центре родительского представления?
Я попытался добавить смещение к началу кадра, но это не работает, когда изменяется размер окна или загружается изображение с другим размером.
Любая помощь будет оценена.