получить ширину и высоту NSView и NSImageView - PullRequest
4 голосов
/ 28 октября 2011

У меня есть NSView, есть NSImageView на NSView

в исходных кодах NSView

Я написал:

NSImage *image = [[[NSImage alloc] initWithContentsOfURL:url] autorelease];
NSImageView *newImageView = nil;
newImageView = [[NSImageView alloc] initWithFrame:[self bounds]];
[newImageView setImage:image];
[newImageView setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];

Есть ли способ прочитать ширину и высоту NSView и NSImageView?

Ответы [ 2 ]

7 голосов
/ 28 октября 2011

Размер любого представления (NSView, NSImageView и т. Д.) Составляет view.frame.size или view.bounds.size. В обоих случаях это идентичная NSSize структура. Вы можете написать код так:

NSSize size = newImageView.frame.size;
NSLog(@"size: %@", NSStringFromSize(size));
NSLog(@"size: %f x %f", size.width, size.height);

Чтобы изменить его, необходимо обновить свойство представления frame:

NSRect frame = view.frame;
frame.size = NSMakeSize(<#new width#>, <#new height#>);
view.frame = frame;
2 голосов
/ 28 октября 2011

Попробуйте метод - (NSRect)bounds.

...