Cocoa 获取NSView和NSImageView的宽度和高度

Cocoa 获取NSView和NSImageView的宽度和高度,cocoa,nsview,appkit,Cocoa,Nsview,Appkit,我有一个NSView,NSView上有一个NSImageView 在NSView的源代码中 我写道: NSImage *image = [[[NSImage alloc] initWithContentsOfURL:url] autorelease]; NSImageView *newImageView = nil; newImageView = [[NSImageView alloc] initWithFrame:[self bounds]]; [newImageView setImage:i

我有一个NSView,NSView上有一个NSImageView

在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的宽度和高度?

尝试
-(NSRect)bounds
方法。

任何视图(NSView、NSImageView等)的大小都是
view.frame.size
view.bounds.size
。 在这两种情况下,它都是相同的
NSSize
struct。您可以编写如下代码:

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;
NSRect frame=view.frame;
frame.size=NSMakeSize(,);
view.frame=frame;