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

提供: MonoBook
ナビゲーションに移動 検索に移動

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);
}

関連項目[編集 | ソースを編集]