Zajmuję się tworzeniem programu, w którym programowo dodaję NSImageView do niestandardowej klasy NSView. Podczas tworzenia widoku obrazu przechodzę przez ramkę kontenera nadrzędnego.Jak wyrównać podzbiór do centrum rodzica 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;
}
Następnie używam metody addSubView
, aby dodać ją do widoku niestandardowego. Problem polega na tym, że obraz przykleja się do lewego dolnego rogu widoku rodzica. Jak mogę umieścić ten obraz w centrum widoku rodzica?
Próbowałem dodać przesunięcie do początku ramki, ale to naprawdę nie działa, gdy okno jest zmieniany, lub jeśli obraz o innym rozmiarze jest ładowany.
Każda pomoc zostanie doceniona.
Można też zaokrąglić wszystkie wyniki z podziałem na liczby całkowite, jakby to dziwne i skończyć z .5, to będzie rozmyty z pozycjonowaniem subpikseli. – Jaanus
Tak, to prawda. – d11wtq
Świetna odpowiedź, dzięki –