SwiftUI에서 기본 Live Photo 앱을 구축하려고 시도하고 선택한 사진을 표시하는 데 어려움을 겪습니다. 이를 위해 PHLivePhotoView에 대해 UIViewRepresentable을 만들려고했습니다.
import SwiftUI
import PhotosUI
struct LivePhotoView: UIViewRepresentable {
@Binding var livephoto: PHLivePhoto
func makeUIView(context: Context) -> PHLivePhotoView {
return PHLivePhotoView()
}
func updateUIView(_ lpView: PHLivePhotoView, context: Context) {
lpView.livePhoto = livephoto
}
}
내 메인 뷰에서 다음과 같이 부릅니다.
if pickerResult.count > 0 {
LivePhotoView(livephoto: $pickerResult[0])
}
보기 크기를 제한하려고 할 때까지 잘 작동합니다. 미리보기를 정사각형 상자에 넣고 싶습니다.
LivePhotoView(livephoto: $pickerResult[0])
.scaledToFit()
.frame(width: geo.size.width, height: geo.size.width, alignment: .center)
하지만 scaledToFit ()가 작동하지 않는 것 같습니다. 내가 가진 것은 잘린 이미지뿐입니다. 예상되는 동작은 가로 세로 비율이 유지 된 이미지와 짧은면에 빈 공간이있는 두 가지입니다. 이것이 가능할까요?
원래보기에서 수행하고 SwiftUI에서는 다음과 같이 프레임 만 제한합니다.
func makeUIView(context: Context) -> PHLivePhotoView {
let photoView = PHLivePhotoView()
photoView.contentMode = .aspectFit
return photoView
}
및 (또는 .frame없이)
LivePhotoView(livephoto: $pickerResult[0])
.frame(width: geo.size.width, height: geo.size.width, alignment: .center)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다