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

提供: MonoBook
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);
}

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