Swift

フルスクリーンキャプチャのためのルートビューの露出

アプリの画面全体をキャプチャするには、ルートにアクセスする必要があります。 UIView.拡張子を追加する:

UIApplication+rootViewController.swift

それなら、これを使おう:

代替パスUIViewRepresentableで特定の領域をキャプチャする

以下のステップでは、ScreenCapturerにrootViewを配線する方法を紹介します。ただし、画面の特定の領域をキャプチャしたい場合は、特定の UIView SwiftUIに支えられた作成する UIViewRepresentable 共有したいビューを生成し、それをレイアウトに埋め込み、その基礎となる UIView をキャプチャーに送る(たとえば、次のような場合にコールバックを介して)。 makeUIView 走る)。

例-共有可能なタイムラベル:

ディスプレイ TimeLabelView をSwiftUIの UIView をマネージャーに送る。 @State そして onAppear / Coordinator)、そのビューを ScreenCapturer(withView:) をクリックすると、全画面ではなくその領域だけを共有することができます。