2016-04-11 2 views
2

Я не понимаю, почему его не увольняют. Я использую replaykit в своем приложении и Im пытается убрать пользовательский интерфейс, который появляется после его записи на экране. В левой верхней части есть кнопка отмены, и когда я нажимаю ее, контроллер предварительного просмотра не увольняется. Существует функция делегата, чтобы отклонить контроллер, но он не работает для меня. Я чувствую, что это легко исправить, но я не уверен, что я делаю неправильно. Пожалуйста, помогите мне. Если вам нужна дополнительная информация, дайте мне знать. Спасибо!Как отключить предварительный просмотр контроллера UI в Swift?

func startRecoding() { 


if RPScreenRecorder.sharedRecorder().available { 
    RPScreenRecorder.sharedRecorder().startRecordingWithMicrophoneEnabled(true, handler: { (error: NSError?) -> Void in 
     if error == nil { // Recording has started 

     } else { 
      // Handle error 
     } 
    }) 
} else { 
    // Display UI for recording being unavailable 

} 


} 

func stopRecording() { 

RPScreenRecorder.sharedRecorder().stopRecordingWithHandler { (previewController: RPPreviewViewController?, error: NSError?) -> Void in 

    if previewController != nil { 

     let alertController = UIAlertController(title: "Recording", message: "Do you wish to discard or view your gameplay recording?", preferredStyle: .Alert) 

     let discardAction = UIAlertAction(title: "Discard", style: .Default) { (action: UIAlertAction) in 
      RPScreenRecorder.sharedRecorder().discardRecordingWithHandler({() -> Void in 
       // Executed once recording has successfully been discarded 
      }) 
     } 

     let viewAction = UIAlertAction(title: "View", style: .Default, handler: { (action: UIAlertAction) -> Void in 
      self.view?.window?.rootViewController?.presentViewController(previewController!, animated: true, completion: nil) 



     }) 

     alertController.addAction(discardAction) 
     alertController.addAction(viewAction) 

     self.view?.window?.rootViewController!.presentViewController(alertController, animated: true, completion: nil) 

    } else { 
     // Handle error 
    } 
    } 



    } 


func previewControllerDidFinish(previewController: RPPreviewViewController) { 
    previewController.dismissViewControllerAnimated(true, completion: nil) 

} 
+0

Пожалуйста, продемонстрируйте код, который вы используете, чтобы отобразить представление, которое вы сейчас пытаетесь уволить. –

+0

В порядке я обновляю op. – coding22

+0

Я обновил код, который вы можете проверить сейчас. – coding22

ответ

1

Вам необходимо убедиться, что вы установите делегат для своего контроллера представлений.

RPScreenRecorder.sharedRecorder().stopRecordingWithHandler { (previewController: RPPreviewViewController?, error: NSError?) -> Void in 

    if previewController != nil { 

     // Try adding this line 
     previewController.delegate = self 
     // 

     let alertController = UIAlertController(title: "Recording", message: "Do you wish to discard or view your gameplay recording?", preferredStyle: .Alert) 
     . 
     . 
     . 
+0

Хорошо, тогда что мне помещать внутри моего previewControllerDidFinish? – coding22

+1

Вы можете это сделать. Или вы можете отказаться от использования метода, который запускается кнопкой. –

+0

Да, сейчас он работает. Спасибо! – coding22

Смежные вопросы