Xamarin.MacのAVPlayerViewでオーバーレイ表示する
2021年2月10日 (水) 06:22時点におけるAdministrator (トーク | 投稿記録)による版 (ページの作成:「AVPlayerViewには「ContentOverlayViewプロパティ」というズバリなものがあるので、NSViewの派生クラスをそこにAddSubviewしてやればよい…」)
AVPlayerViewには「ContentOverlayViewプロパティ」というズバリなものがあるので、NSViewの派生クラスをそこにAddSubviewしてやればよい。
なお、Interface Builderで貼り付けたAVPlayerViewのContentOverlayViewプロパティが有効になるのはViewControllerのViewDidAppear以降であり、AwakeFromNibやViewDidLoadの段階ではnullなので注意すること。
public override void ViewDidAppear()
{
// NSView派生クラスを作って
var overlay = new NSView() {
// AvPlayerViewと同じサイズにする
Frame = avPlayerView.ContentOverlayView.Frame,
// 縦横ともにオートリサイズ
AutoresizingMask = NSViewResizingMask.WidthSizable | NSViewResizingMask.HeightSizable,
};
// ContentOverlayViewに突っ込む
avPlayerView.ContentOverlayView.AddSubview(overlay);
}