メインメニューを開く

差分

Xamarin.MacのAVPlayerViewでオーバーレイ表示する

1,030 バイト追加, 2021年2月10日 (水) 06:22
ページの作成:「AVPlayerViewには「ContentOverlayViewプロパティ」というズバリなものがあるので、NSViewの派生クラスをそこにAddSubviewしてやればよい…」
AVPlayerViewには「ContentOverlayViewプロパティ」というズバリなものがあるので、NSViewの派生クラスをそこにAddSubviewしてやればよい。

なお、[[Interface Builder]]で貼り付けたAVPlayerViewのContentOverlayViewプロパティが有効になるのはViewControllerのViewDidAppear以降であり、AwakeFromNibやViewDidLoadの段階ではnullなので注意すること。

<source lang="csharp">
public override void ViewDidAppear()
{
// NSView派生クラスを作って
var overlay = new NSView() {
// AvPlayerViewと同じサイズにする
Frame = avPlayerView.ContentOverlayView.Frame,
// 縦横ともにオートリサイズ
AutoresizingMask = NSViewResizingMask.WidthSizable | NSViewResizingMask.HeightSizable,
};

// ContentOverlayViewに突っ込む
avPlayerView.ContentOverlayView.AddSubview(overlay);
}
</source>

== 関連項目 ==
* [[Xamarin.MacでNSTextFieldの背景色を透明にする]]

[[category: Xamarin.Mac]]