如何解决“ImagePicker”类型的值没有成员“contentMode”
我正在尝试使用如下所列的 contentMode,但我不明白为什么会收到以下错误:
无法推断参考成员“scaleAspectFit”的上下文基础 'ImagePicker' 类型的值没有成员 'contentMode'
if let uiImage = info[UIImagePickerController.InfoKey.editedImage] as? UIImage {
parent.contentMode = .scaleAspectFit <--- Error
parent.image = uiImage
}
parent.presentationMode.wrappedValue.dismiss()
}
}
有什么提示吗? 谢谢!
附上你找到的完整代码:
struct ImagePicker: UIViewControllerRepresentable {
@Environment(\.presentationMode) var presentationMode
@Binding var image: UIImage?
func makeUIViewController(context: UIViewControllerRepresentableContext<ImagePicker>) -> UIImagePickerController {
let picker = UIImagePickerController()
picker.delegate = context.coordinator
picker.allowsEditing = true
// picker.mediaTypes = ["public.image"]
return picker
}
func updateUIViewController(_ uiViewController: UIImagePickerController,context: UIViewControllerRepresentableContext<ImagePicker>) {}
class Coordinator: NSObject,UINavigationControllerDelegate,UIImagePickerControllerDelegate {
let parent: ImagePicker
init(_ parent: ImagePicker) {
self.parent = parent
}
func imagePickerController(_ picker: UIImagePickerController,didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey: Any]) {
if let uiImage = info[UIImagePickerController.InfoKey.editedImage] as? UIImage {
parent.image.contentMode = .scaleAspectFit
parent.image = uiImage
}
parent.presentationMode.wrappedValue.dismiss()
}
}
func makeCoordinator() -> Coordinator {
Coordinator(self)
}
}
解决方法
添加 contentMode
属性
struct ImagePicker: UIViewControllerRepresentable {
@Environment(\.presentationMode) var presentationMode
@Binding var image: UIImage?
@Binding var mode:UIView.ContentMode? // here
然后
parent.mode = .scaleAspectFit
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。