【发布时间】:2020-10-26 00:32:08
【问题描述】:
我有 2 个 UIImageViews,我添加了一个 UITapGestureRecognizer 来打开用户的相机。一旦用户选择了一个图像,那么为了访问相机而被点击的 UIImageView 应该被设置为相机图像。
这是我的 openCamera 方法:
@objc func openCamera(sender: ImagePlaceHolderView) {
let picker = UIImagePickerController()
picker.allowsEditing = true
picker.delegate = self
picker.sourceType = .camera
present(picker, animated: true)
}
我的 UIImageViews 声明如下:
var left = UIImageView()
var right = UIImageView()
left = createImagePlaceholder()
right = createImagePlaceholder()
private func createImagePlaceholder() -> UIImageView {
let placeholder = ImagePlaceHolderView(frame: CGRect(x: 0, y: 0, width: 90, height: 150))
placeholder.isUserInteractionEnabled = true
return placeholder
}
然后是我的委托方法:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
guard let image = info[.editedImage] as? UIImage else { return }
left.image = image // Here I want to set the sender's image to image
dismiss(animated: true, completion: nil)
}
我正在努力弄清楚如何将 UIImageView 的图像设置为来自相机的这个新图像。我正在尝试将发件人传递给 openCamera 方法,但不确定如何提取它,因为发件人实际上似乎是 UITapGestureRecognizer 而不是被点击的图像。
【问题讨论】:
标签: swift xcode uiimageview uiimagepickercontroller uitapgesturerecognizer