私のプログラムでは、次のように設定しています。
インターフェイスビルダーで作成した3つのNSViewがあります
したがって、PaintView は PlayerView のサブビューであり、ImageView は PlayerView の上のビューです。
プログラムが起動すると、ImageView は非表示になります。PaintView は透明なので、その下に PlayerView が表示されますが、PaintView でクリックが発生します。ここまでは順調ですね。
ここで達成したいことは、ボタンを押すと、PlayerView が非表示になり、ImageView が表示され、PaintView がそのサブビューになることです。そのため、透明な PaintView を介して ImageView を見ることができますが、PaintView をクリックすることはできます。
これまでの私のアプローチは次のようなものです。
// on the app start
[ImageView setHidden: YES];
// on the button press
[PaintView removeFromSuperview];
[PlayerView setHidden:YES];
[ImageView setHidden:NO];
[ImageView addSubview:PaintView positioned:NSWindowAbove relativeTo:nil];
残念ながら、これは私に望ましい結果をもたらしません。ImageView が一番上にあるので、PaintView をクリックできません。
誰かが私が間違っていることを知っていますか?! どんな種類の助けも本当に感謝しています!
ありがとうございました!