Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 带ImageView的UIImagePickerController_Ios_Swift_Uiimageview_Uiimagepickercontroller - Fatal编程技术网

Ios 带ImageView的UIImagePickerController

Ios 带ImageView的UIImagePickerController,ios,swift,uiimageview,uiimagepickercontroller,Ios,Swift,Uiimageview,Uiimagepickercontroller,我试图从照片库中获取图像,但我有一个问题。我有3个不同的图像视图。在这些图像视图上有3种不同的点击手势。我需要选择不同的照片,并显示给用户 我该怎么办? 将UINavigationControllerDelegate、UIImagePickerControllerDelegate添加到控制器 创建UITap手势的函数 func createTapGesture(selectorName: String) -> UITapGestureRecognizer { return UIT

我试图从照片库中获取图像,但我有一个问题。我有3个不同的图像视图。在这些图像视图上有3种不同的点击手势。我需要选择不同的照片,并显示给用户

我该怎么办?

  • 将UINavigationControllerDelegate、UIImagePickerControllerDelegate添加到控制器
  • 创建UITap手势的函数

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

    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中,确保已选中图像视图集
    用户交互功能


希望这能有所帮助

谢谢回复。我如何定义currentImageView您可以帮助currentImageView是一个UIImageView,您可以在全局中定义。这样你就可以在任何地方使用它。