NSViewとNSImageViewの幅と高さを取得する

私は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の幅と高さを読み取る方法はありますか?

4

2 答え

ビュー(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;
7
追加された

- (NSRect)bounds メソッドを試してみてください。

2
追加された
または frame メソッドを使用します。
追加された 著者 Peter Hosey,