2017-04-08 2 views
0

Ich habe eine App, die ich arbeite, die eine Funktion hat, mit der der Benutzer entweder ein Foto machen oder ein Bild aus der Fotobibliothek auswählen kann. Der Code funktioniert, aber das Bild zeigt immer größer als die UIImageView Box. Die Box ist im Storyboard auf "Skalierungsaspekt anpassen" eingestellt, aber das Kamerabild lehnt die Anpassung ab.Kamera Bild Größenanpassung

Hier ist der Code:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { 
     if let chosenImage = info[UIImagePickerControllerOriginalImage] as? UIImage{ 

      imageField.image = chosenImage 
     } else{ 
      //error message goes here 
     } 
     self.dismiss(animated: true, completion: nil) 
    } 

Wie erhalte ich chosenImage an die Box oder Aspekt fit zu entsprechen?

+0

versuchen mit 'ScaleAspectFill' und' clipsToBounds = true' –

Antwort

0

Versuchen Sie, diese Art und Weise bitte:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { 
     if let chosenImage = info[UIImagePickerControllerOriginalImage] as? UIImage{ 

      imageField.image = chosenImage 
      imageField.contentMode = UIViewContentMode.scaleToFill 
      imageField.clipsToBounds = true 
     } else{ 
      //error message goes here 
     } 
     self.dismiss(animated: true, completion: nil) 
    } 

warum ScaleAspectFill und clipsToBounds = true diese Frage suchen haben Why scale to fill give bigger image than UIImageVIew size? (using swift)

wenn man dann mehr erfahren möchten überprüfen diese How to scale a UIImageView proportionally?

+0

Danke, das hat funktioniert! –

+0

Es ist mir ein Vergnügen, Kumpel –