web-dev-qa-db-fra.com

Comment définir une image dans imageview Swift 3?

J'ai donc une vue d'image intitulée cashOrCredit et j'essaie de la définir par programme, mais je ne suis pas en mesure de le faire. 

D'abord je règle l'image comme ça 

cell.cashOrCredit.image = UIImage(named: "cash1.png")

et je reçois une erreur en disant qu'un séparateur de "," est nécessaire. 

Puis j'ai essayé de cette façon

var cashImage: UIImage?
cashImage = "cash1.png"
cell.cashOrCredit.image = cashImage

Mais je reçois une erreur THREAD 1 EXC BAD INSTRUCTION. Je n'arrive pas à comprendre ce qui ne va pas?

Voici l'erreur 

entrez la description de l'image ici

7
A. G

Mise à jour pour Swift 3:

utilisez ci-dessous du code simple pour définir l’image sur UIImageView;

class YourViewControllerName: UIViewController {

        var mYourImageViewOutlet: UIImageView?

        func addImageToUIImageView{
            var yourImage: UIImage = UIImage(named: "Birthday_logo")!
            mYourImageViewOutlet.image = yourImage
        } // call this function where you want to set image.
     }

Remarque: le type d'image "Birthday_logo" doit être présent dans vos actifs.xcassets de votre projet . J'ai joint la capture d'écran si vous souhaitez obtenir de l'aide, veuillez la renvoyer.

**** // utilisé partout où vous souhaitez ajouter une image à UIImageView. [Ici, j'ai utilisé une fonction et dans cette fonction, j'écris un code pour définir l'image sur UIImageView] ****

Profitez ..!!  enter image description here

7
Kiran jadhav

Essaye ça:

cell.cashOrCredit.image = UIImage(named: "cash1")

et vérifiez l'image "cash1.png" est disponible dans Assets.xcassets ou non.

Si vous avez une solution, alors donnez votre vote jusqu'à ma réponse.

6
Monika Patel

Prise de sortie de ImageView

@IBOutlet weak var imgProfile: UIImageView!

Parcourez le code suivant qui vous aidera à choisir une image ou à capturer une image à partir de l'appareil photo.

func choosePicker() {
        let alertController = UIAlertController(title: "Select Option", message: nil, preferredStyle: (IS_IPAD ? UIAlertControllerStyle.alert : UIAlertControllerStyle.actionSheet))
        let cancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.cancel, handler: { action -> Void in
        })
        let gallery = UIAlertAction(title: "From Gallery", style: UIAlertActionStyle.default
            , handler: { action -> Void in
                self.openPicker(isCamera: false)
        })
        let camera = UIAlertAction(title: "Take Photo", style: UIAlertActionStyle.default
            , handler: { action -> Void in
                self.openPicker(isCamera: true)
        })
        alertController.addAction(gallery)
        alertController.addAction(camera)
        alertController.addAction(cancelAction)
        self.present(alertController, animated: true, completion: nil)
    }

func openPicker(isCamera : Bool) {
        let picker:UIImagePickerController?=UIImagePickerController()
        if isCamera {
            picker!.sourceType = UIImagePickerControllerSourceType.camera
        } else {
            picker!.sourceType = UIImagePickerControllerSourceType.photoLibrary
            picker!.allowsEditing = true
        }
        picker?.delegate = self

        if UIDevice.current.userInterfaceIdiom == .phone {
            self.present(picker!, animated: true, completion: nil)
        }
        else {
            picker!.modalPresentationStyle = .popover
            present(picker!, animated: true, completion: nil)//4
            picker!.popoverPresentationController?.sourceView = imgProfile
            picker!.popoverPresentationController?.permittedArrowDirections = UIPopoverArrowDirection.up
        }
    }

// MARK: - UIImagePickerControllerDelegate Methods
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
        if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
            self.imgProfile.image = image
        }
        picker.dismiss(animated: true, completion: nil);
    }

    func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
        dismiss(animated: true, completion: nil)
    }

Appelez ChoosePicker Méthode où vous voulez appeler.

1
iAnkit

Vérifiez si cashOrCredit est uiimageview.

Deuxièmement,

cashImage = UIImage (nommé: "cash1.png")

Si cela ne fonctionne pas, essayez

cellule?. cashOrCredit.image

vérifier si la cellule est nulle?

Dans le contexte du code Swift, EXC_BAD_INSTRUCTION signifie généralement que vous avez touché un piège du compilateur, c'est-à-dire une instruction non définie insérée dans le code par le compilateur en raison d'un bogue détecté à l'exécution. La cause la plus commune de ceux-ci sont:

  1. échec de la décompression d’une option - Il peut s’agir d’une décompression forcée (!) ou implicite (l’accès à une option non implicite implicitement nulle).

  2. tableau hors limites

  3. une distribution forcée ayant échoué (comme!), soit parce que la valeur était une valeur facultative nil, soit parce que la valeur était d'un type incorrect

0
Vimal

Supprimer ".png":

cell.cashOrCredit.image = UIImage(named: "cash1")

Vous pouvez également tout définir par programme:

let cellImage = UIImageView(frame: CGRect(x: X, y: Y, width: WIDTH, height: HEIGHT))
cellImage.image = UIImage(named: "cash1")
cell.addSubview(cellImage)
0
vahidgr