Ich habe eine benutzerdefinierte AVFoundation Kamera erstellt und in einer anderen Ansicht als Subview beladen mit @IBDesignable, nachdem das Bild aufgenommen wird ich es UIImageView
zuweisen möchte , Aber wenn die Taste gedrückt wird, stürzt die benutzerdefinierte Kameraansicht (UIView
) ab und bewegt sich auf dem Bildschirm nach oben, anstatt sie dem UIImageView
zuzuweisen. Dies passiert, wenn die benutzerdefinierte Kameraansicht zu Beginn geladen wird, wenn ich die benutzerdefinierte Kamera lade Blick wieder, es wird das Bild der UIImageView
zuweisen.Subview in Hauptansicht Absturz Wenn Bild von AVFoundation Zuordnung
Bildaufnahme-Methode:
@IBAction func captureImage(sender: AnyObject) {
if let stillOutput = self.captureImageOutput {
// we do this on another thread so that we don't hang the UI
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
//find the video connection
var videoConnection : AVCaptureConnection?
for connecton in stillOutput.connections {
//find a matching input port
for port in connecton.inputPorts!{
if port.mediaType == AVMediaTypeVideo {
videoConnection = connecton as? AVCaptureConnection
break //for port
}
}
if videoConnection != nil {
break// for connections
}
}
if videoConnection != nil {
stillOutput.captureStillImageAsynchronouslyFromConnection(videoConnection){
(imageSampleBuffer : CMSampleBuffer!, _) in
let imageData = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(imageSampleBuffer)
let pickedImage: UIImage = UIImage(data: imageData, scale: 1.0)!
dispatch_async(dispatch_get_main_queue(), {
self.capturePhoto.image = pickedImage
})
}
}
}
}
}
Ich habe auch versucht, die dispatch_sync
und nichts Last in der UIImageView, aber der Bildschirm nicht abstürzen.
dispatch_sync(dispatch_get_main_queue(), {
self.capturePhoto.image = pickedImage
})
Welche Art von Crash bekommen Sie? Gibt es ein Backtrace, das anzeigt, welche Zeile des Quellcodes den Absturz verursacht? –
Ich bekomme keinen Fehler. @MichaelDautermann – Xrait
Die UI hängt einfach – Xrait