0

2 つの既存のボタンと NSImageView のレイヤーの問題があります。2 つのボタン (矢印) を持つ NSView から継承する PhotosView というカスタム ビューがあります。

@interface PhotosView : NSView

- (void)setPhoto:(NSURL *)path;

@end

setPhoto メソッドの実装では、PhotosView に写真を追加します。

- (void)setPhoto:(NSURL *)path
{
    [imageView removeFromSuperview];

    imageView = [[NSImageView alloc] initWithFrame:[self frame]];
    [imageView setImage:[[NSImage alloc] initWithContentsOfURL:path]];

    [self addSubview:imageView];
}

imageView は 2 つのボタンの上に追加されます。私の調査では、iOS 開発と同様の問題しか見つかりませんでした。役立つスレッドが 1 つあります: http://www.cocoabuilder.com/archive/cocoa/55873-nsview-subviews-ordering.htmlですが、もっと簡単な解決策がないと本当に信じられませんか?

ここに画像の説明を入力

4

1 に答える 1

2

最後の行を次のように変更します。

[self addSubview:imageView positioned:NSWindowBelow relativeTo:nil];

(APIはこちらをご覧ください)

于 2013-11-11T21:27:44.903 に答える