IOS
 Computer >> コンピューター >  >> プログラミング >> IOS

iPhone / iOSでプログラムでスクリーンショットを撮る方法は?


iOSには、プログラムでiOSデバイスでスクリーンショットを撮る公式の方法はありませんが、ホームボタンと電源ボタンの両方を同時に押すことでスクリーンショットを撮る方法があります。

スクリーンショットを撮るには、一連の手順を実行する必要があります。

  • keyWindowのレイヤー– UIApplication.shared.keyWindow!.layer

    を取得します
  • 画面のスケールを取得します– UIApplication.main.scale

  • ビューと同じサイズの新しい画像を作成します。

  • 画像をレンダリングして保存します。

新しいプロジェクトを作成しましょう。メインビューコントローラーで背景色を指定し、ボタンをドラッグして接続し、そのクラスへのアクションを作成します。アクションに次のコードを追加します。

@IBAction func takeshot(_ sender: Any) {
   var image :UIImage?
   let currentLayer = UIApplication.shared.keyWindow!.layer
   let currentScale = UIScreen.main.scale
   UIGraphicsBeginImageContextWithOptions(currentLayer.frame.size, false, currentScale);
   guard let currentContext = UIGraphicsGetCurrentContext() else {return}
   currentLayer.render(in: currentContext)
   image = UIGraphicsGetImageFromCurrentImageContext()
   UIGraphicsEndImageContext()
   guard let img = image else { return }
   UIImageWriteToSavedPhotosAlbum(img, nil, nil, nil)
}
>

これを初めて使用するときは、画像を保存するために写真の許可を与える必要があります。保存された画像は.jpg形式になります。

「NSPhotoLibraryAddUsageDescription」も追加します アプリのinfo.plistに移動します。

これは関数に変換して、複数の場所で使用したり、拡張機能として使用したりできます。

これがアプリの外観です。実行すると。

iPhone / iOSでプログラムでスクリーンショットを撮る方法は?

初めて走って撮影ボタンをクリックした後

iPhone / iOSでプログラムでスクリーンショットを撮る方法は?

アクセスを許可した後、iPhoneの写真アプリに移動すると、そこに写真が表示されます。

iPhone / iOSでプログラムでスクリーンショットを撮る方法は?


  1. iOS をダウングレードする方法

    iOS の更新は非常にエキサイティングです。 iPhone の機能を向上させる素晴らしい機能が含まれているだけでなく、ほとんどのインクリメンタル アップデートには、既知のバグや問題を解決する多くの修正も含まれています。 ただし、ベータ版の iOS には当てはまりません。多くの場合、主要な機能が壊れたり、アプリが正常に動作しなくなったり、バッテリー関連の問題が発生したりします。まれに、安定した iOS リリースでも同様のことが発生する場合があります。 他のすべてのトラブルシューティング オプションを使い果たした場合 (iPhone のリセットはもう試しましたか?)、iOS のダウングレード

  2. iOS 12 のインストール方法

    Apple は、待望の iOS 12 のリリース日、つまり 9 月 17 日を発表しました。 .しかし、それまで待ちたくない場合は、iOS 12 のゴールデン マスター バージョンを今すぐインストールできます。そのためには、Apple ベータ ソフトウェア プログラムに参加して、デバイスを登録する必要があります。 この iOS 12 の最終バージョンは、今から 1 週間以内に一般公開され、スクリーンタイム、ミー文字、Siri ショートカット、改善された通知などへのアクセスが許可されます。 注:iOS 12 は、古いものでも新しいものでも、iPhone の応答性とパフォーマンスを向上させるは