簡體   English   中英

從庫中選擇圖像不會調用“ didFinishPickingImage”功能-Swift

[英]Selecting image from library doesn't call “didFinishPickingImage” function - Swift

我有一個UIImagePickerController,可以選擇從庫中選擇。

調用accessLibrary按鈕時,它會提示另一個源類型為.PhotoLibrary UIImagePickerController。

func accessLibrary(sender: UIButton!) {
    NSLog("access library")
    choseFromLibrary = true
    self.libraryPicker = UIImagePickerController()
    self.libraryPicker!.allowsEditing = false
    self.libraryPicker!.sourceType = .PhotoLibrary

    self.presentViewController(self.libraryPicker!, animated: true, completion: nil)
}

這一切都很好,但是當用戶選擇照片時,我想將該圖像傳遞給視圖,然后在屏幕上顯示該視圖。

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
    let metadata = info[UIImagePickerControllerMediaMetadata] as? NSDictionary
    var image = info[UIImagePickerControllerOriginalImage] as? UIImage
    if (image != nil) {
        if (choseFromLibrary) {
            let cnfrmImgView = ConfirmImageView.init(image: image!)
            self.view.addSubview(cnfrmImgView)
        }
        else {
            if (frontFacing) {
                image! = UIImage(CGImage: image!.CGImage!, scale: 1.0, orientation: .LeftMirrored)
            }
            let cnfrmImgView = ConfirmImageView.init(image: image!)
            self.view.addSubview(cnfrmImgView)
        }
    }
}

如果使用相機而非庫拍攝圖像,則上述功能有效。

當用戶從圖庫中選擇照片時,圖庫選擇器控制器將自動關閉自身,並且不會顯示視圖。

我運行了一個NSLog("here")來檢查從庫中選擇時是否調用了didFinishPickingImageWithInfo函數,而實際上卻沒有。

didFinishPickingImageWithInfo是一個委托消息( UIImagePickerControllerDelegate )。 但是,問題是您沒有給圖像選擇器任何delegate 因此,它沒有人向其發送委托消息。

如果您想實現像圖像選擇器這樣的Instagram,而不是嘗試此操作

像Instagram一樣的圖片選擇器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM