【问题标题】:UIImagePickerController with ImageViewUIImagePickerController 与 ImageView
【发布时间】:2015-12-19 02:59:34
【问题描述】:

我正在尝试从照片库中获取图像,但我遇到了问题。我有 3 个不同的 ImageView。以及这些 Imageviews 上的 3 种不同的点击手势。我需要选择不同的照片并展示给用户。

我该怎么办?

【问题讨论】:

    标签: ios swift uiimageview uiimagepickercontroller


    【解决方案1】:
    • UINavigationControllerDelegate, UIImagePickerControllerDelegate 添加到您的控制器
    • 创建UITapGesture的函数

      func createTapGesture(selectorName: String) -> UITapGestureRecognizer {
      
          return UITapGestureRecognizer(target: self, action: Selector(selectorName))
      }
      
      func imageTap(sender: AnyObject) {
      
          currentImageView = sender.view as! UIImageView
          pickImage()
      }
      
    • 显示 ImagePickerView

      func pickImage() {
      
          let imagePicker = UIImagePickerController()
          imagePicker.delegate = self
          imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
          imagePicker.allowsEditing = false
          self.presentViewController(imagePicker, animated: true, completion: nil)
      }
      
      func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) {
      
          dismissViewControllerAnimated(true, completion: nil)
          currentImageView.image = image
      }
      
    • 将这些代码添加到 viewDidLoad

      firstImageView.addGestureRecognizer(createTapGesture("imageTap:"))
      secondImageView.addGestureRecognizer(createTapGesture("imageTap:"))
      thirdImageView.addGestureRecognizer(createTapGesture("imageTap:"))
      
    • 在 IB 中,确保您的图像视图设置为 User Interaction Enabled 选中

    希望对你有帮助

    【讨论】:

    • 感谢回复。如何定义 currentImageView 可以帮忙
    • currentImageView 是您可以在全局中定义的 UIImageView。以便您可以在任何地方使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多