Ich bin ziemlich neu zu programmieren und ich habe zwei Tasten, eine Kamera ist die andere ist ChooseExistingPhoto. Ich kann mit der Kamerataste auf die Kamerafunktionen zugreifen und versuche, das Bild, das ich auf ein UII-Bild nehme, in einem anderen View-Controller anzuzeigen. Mein Code gibt mir eine Fehlermeldung, dass Snapshot nicht gerendert werden kann, bevor es erstellt wird. Ich nehme an, dass dies daran liegt, dass ich auch versuche, die Schaltfläche als Überleitung zu verwenden, um den neuen Ansichtscontroller anzuzeigen. Gibt es eine Möglichkeit, die Aktion zu verzögern, bis der Benutzer ein Bild in seiner Fotobibliothek ausgewählt oder ein Foto gemacht hat?Gibt es eine Möglichkeit, die Aktion zu verzögern, bis der Benutzer ein Bild durch seine Fotobibliothek aufgenommen oder ein Foto aufgenommen hat? SWIFT
@IBAction func Kamera (Sender: ANYOBJECT) {
let picker = UIImagePickerController()
picker.delegate = self
picker.sourceType = .Camera
presentViewController(picker, animated: true, completion: nil)
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
self.performSegueWithIdentifier("Show", sender: self)
func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!)
{
if segue.identifier == "Show" {
imageDisplay.image = info[UIImagePickerControllerOriginalImage] as? UIImage
dismissViewControllerAnimated(true, completion: nil)
}
}
}
dies ist der Code, den ich für meine Taste haben. imageDisplay ist ein Bild-Outlet, das ich für das ImageView erstellt habe und um diesen Code zu erkennen, habe ich meinem ImageDisplayViewController eine Superklasse zu meinem Haupt-ViewController gemacht.
Dies ist der Fehler, den ich erhalte.
Das Snapshot einer Ansicht, die nicht gerendert wurde, führt zu einem leeren Snapshot. Stellen Sie sicher, dass Ihre Ansicht mindestens einmal vor dem Snapshot oder Snapshot nach Bildschirmaktualisierungen gerendert wurde.
Veröffentlichen Sie Ihren Code (Versuch) hier, damit andere Ihr Problem besser verstehen und Ihnen helfen können. – Amir
Es klingt, als ob Sie das Segment programmgesteuert mithilfe von 'performSegueWithIndentifier' auslösen müssen, anstatt das Segment direkt über die Schaltfläche auszulösen. – Paulw11