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); 가드 let currentContext =UIGraphicsGetCurrentContext() else {return} currentLayer.render(in:currentContext) image =UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() 가드 let img =이미지 else { return } UIImageWriteToSavedPhotosAlbum(img, nil, nil, nil, nil)}> 

이것을 처음 사용하는 동안 이미지를 저장하려면 사진 권한을 허용해야 합니다. 저장된 이미지는 .jpg 형식입니다.

또한 "NSPhotoLibraryAddUsageDescription"을 추가합니다. 앱의 info.plist로 이동합니다.

이를 함수로 변환하여 여러 곳에서 사용하거나 확장자로 사용할 수 있습니다.

앱은 이렇게 생겼습니다. 실행할 때.

iPhone/iOS에서 프로그래밍 방식으로 스크린샷을 찍는 방법은 무엇입니까?

처음 실행하고 촬영 버튼을 클릭한 후

iPhone/iOS에서 프로그래밍 방식으로 스크린샷을 찍는 방법은 무엇입니까?

액세스를 허용한 후 iPhone에서 사진 앱으로 이동하면 사진이 거기에서 찾을 수 있습니다.

iPhone/iOS에서 프로그래밍 방식으로 스크린샷을 찍는 방법은 무엇입니까?