Computer >> Máy Tính >  >> Lập trình >> IOS

Làm thế nào để chụp ảnh màn hình theo chương trình trong iPhone / iOS?

Mặc dù iOS không cung cấp bất kỳ cách chính thức nào để chụp ảnh màn hình trên thiết bị iOS theo chương trình, nhưng nó cung cấp một cách để chụp ảnh màn hình bằng cách sử dụng nút Home và nút nguồn, bằng cách nhấn cả hai cùng một lúc.

Để chụp ảnh màn hình, chúng ta sẽ phải thực hiện một loạt các bước.

  • Chúng ta sẽ nhận được lớp keyWindow - UIApplication.shared.keyWindow! .Layer

  • Chúng tôi sẽ nhận được quy mô của màn hình - UIApplication.main.scale

  • Tạo một hình ảnh mới có cùng kích thước với dạng xem.

  • Kết xuất và lưu hình ảnh.

Hãy tạo một dự án mới, trong bộ điều khiển chế độ xem chính, hãy cung cấp một số màu nền, sau đó kéo một nút và kết nối để tạo một hành động cho lớp của nó. Thêm mã sau vào hành động.

 @IBAction func takehot (_ 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 (trong:currentContext) image =UIGraphicsGetImageFromCurrentImageContext () UIGraphicsEndImageContext () Guard let img =image else {return} UIImageWriteToSaved> 

Khi sử dụng tính năng này lần đầu tiên, bạn sẽ phải cấp quyền cho ảnh để lưu ảnh. Hình ảnh đã lưu sẽ có định dạng .jpg.

Đồng thời thêm “NSPhotoLibraryAddUsageDescription” vào info.plist của ứng dụng của bạn.

Điều này có thể được chuyển đổi thành một chức năng và được sử dụng ở nhiều nơi hoặc như một phần mở rộng.

Đây là cách ứng dụng trông. Khi bạn chạy nó.

Làm thế nào để chụp ảnh màn hình theo chương trình trong iPhone / iOS?

Sau khi chạy lần đầu tiên và nhấp vào nút chụp ảnh

Làm thế nào để chụp ảnh màn hình theo chương trình trong iPhone / iOS?

Sau khi bạn cho phép truy cập, hãy chuyển đến ứng dụng ảnh trên iPhone của bạn và ảnh sẽ được tìm thấy ở đó.

Làm thế nào để chụp ảnh màn hình theo chương trình trong iPhone / iOS?