2016-10-14 42 views
0

我是Swift的新手,我沒有得到任何錯誤,我的應用程序complile罰款。但是我無法加載任何照片,可有人點我到正確的方向無法從PhotoLibrary加載圖片Swift 3

這裏是故事板

// 
// ViewController.swift 
// FoodTester 
// 
// Created by Waheed Rafiq on 11/10/2016. 
// Copyright © 2016 Waheed Rafiq. All rights reserved. 
// 

import UIKit 
// Object inhertance to in IOS you adopt the protocol same theory 
class ViewController: UIViewController, UITextFieldDelegate ,UIImagePickerControllerDelegate , UINavigationControllerDelegate{ 


// MARK: Properties 


@IBOutlet weak var nameTextField: UITextField! 

@IBOutlet weak var mealNameLabel: UILabel! 


@IBOutlet weak var photoImageView: UIImageView! 


// MARK : UITextFieldDelegate ---> 





// MARK: Actions below ---> 

@IBAction func selectImageFromPhotoLibrary 
(_ sender: UITapGestureRecognizer) { 

    // hide the keyboard 
    nameTextField.resignFirstResponder() 

    //UIImagePickerController is a view controller that lets user pick media from their photo library. 

    let imagePickerController = UIImagePickerController() 
    // only allow photos to be picket not taken. 
    imagePickerController.sourceType = .photoLibrary 

    imagePickerController.delegate = self 

    present(imagePickerController, animated: true, completion: nil) 
} 

// need to implement two of the delegate methods defined in. 

// MARK: UIImagePickerControllerDelegate 

func imagePickerControllerDidCancel 
(_ picker: UIImagePickerController) { 
    // Dismiss the picker if the user canceled. 
    dismiss(animated: true, completion: nil) 
} 

func imagePickerController 
(_ picker: UIImagePickerController, 
didFinishPickingMediaWithInfo info: [String : Any]) { 

    // the info dictionary contrains 
multiple representations of the image and this uses the original. 

let selectedImage = info[UIImagePickerControllerOriginalImage] 
as! UIImage 

    // Set PhotoImageView to display the selected image. 

    photoImageView.image = selectedImage 

    // Dismiss the picker 
    dismiss(animated:true,completion:nil) 
} 


@IBAction func setDefaultLabelText(_ sender: UIButton) { 

    mealNameLabel.text = "Default Text" 
    nameTextField.text = "Enter something" 

} 

// Mark: Gesture recognizer 


override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after 
loading the view, typically from a nib. 

    // handle the text fields user input throught delegate callbacks. 
    nameTextField.delegate = self 


} 


override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

func textFieldShouldReturn(_ textField: UITextField) -> Bool { 
    // hide the keyboard 
    textField.resignFirstResponder() 
    return true 


} 

func textFieldDidEndEditing(_ textField: UITextField) { 
    mealNameLabel.text = textField.text 


    } 

} 

任何錯誤,任何意見大大appericated

回答

0

使用此代碼爲我的代碼swift 3.0,

@IBAction func selectPhoto(_ sender: UIButton) { 
    var picker = UIImagePickerController() 
    picker.delegate = self 
    picker.allowsEditing = true 
    picker.sourceType = .photoLibrary 
    self.present(picker, animated: true, completion: { _ in }) 
} 

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [AnyHashable: Any]) { 
    var chosenImage = info[UIImagePickerControllerEditedImage] 
    self.imageView!.image! = chosenImage 
    picker.dismiss(animated: true, completion: { _ in }) 
} 

func imagePickerControllerDidCancel(_ picker: UIImagePickerController) { 
    picker.dismiss(animated: true, completion: { _ in }) 
} 
0

您需要在圖像視圖的屬性編輯器中單擊「用戶交互已啓用」複選框。 Screenshot。從本質上講,這個錯誤「添加膳食照片」部分源於缺少的指令#12:

在屬性檢查器中,找到互動領域,並選擇 用戶交互啓用複選框。您稍後需要使用此功能才能讓用戶與圖片視圖進行互動。