代码之家  ›  专栏  ›  技术社区  ›  H. Lamb

1个UIImagePickerController和2个按钮

  •  0
  • H. Lamb  · 技术社区  · 10 年前

    我有一个UIImagePickerController和2个按钮。当我点击按钮1时,我想设置按钮1的图像。当我点击按键2时,我想要设置按钮2的图像。我已经使用UIImagePickerController成功地设置了按钮1的图片,但未能使用按钮2进行设置。下面是我的代码:

    var whichButton: Int = 0
    
    func displayImagePicker(){
    
        let imagePicker = UIImagePickerController()
        imagePicker.delegate = self
        imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
        imagePicker.allowsEditing = false
    
        self.presentViewController(imagePicker, animated: true, completion: nil)
    
    }
    
    @IBAction func chooseImageOne(sender: AnyObject) {
    
        displayImagePicker()
    
        whichButton = 1
    
    }
    
    @IBAction func chooseImageTwo(sender: AnyObject) {
    
        displayImagePicker()
    
        whichButton = 2
    
    }
    
    func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) {
    
        self.dismissViewControllerAnimated(true, completion: nil)
    
        if whichButton == 1 {
    
            self.imageOne.setImage(image, forState: UIControlState.Normal)
    
        } else if whichButton == 2 {
    
            self.imageTwo.setImage(image, forState: UIControlState.Normal)
    
        }
    }
    

    正如你所看到的,我尝试使用var来跟踪我正在点击的按钮。我不确定我在didFinishPickingImage函数中所做的是正确的。我对斯威夫特很陌生,如果有人能透露一些信息,那真的很棒!提前谢谢

    2 回复  |  直到 10 年前
        1
  •  0
  •   Mr. Bean    10 年前

    我已经亲自检查了xcode上的代码及其正确性。请查看您是否已将IBOutlet交给自己。imageTwo按钮,并检查IBAction,即imageTwe按钮的touchupInside。否则一切都好

        2
  •  0
  •   Mundi    10 年前

    您的代码功能正确。看起来像你的 @IBAction 函数未正确连接,或者 @IBOutlet 第二个按钮。您可以通过按钮处理程序或调试器中的打印语句轻松地检查这一点。