Swift UIImagePickerController-当用户从前到后更换摄像头时,获取通知,反之亦然

Swift UIImagePickerController-当用户从前到后更换摄像头时,获取通知,反之亦然,swift,uiimagepickercontroller,Swift,Uiimagepickercontroller,基本上,我正在寻找的是一个UIImagePickerContoller函数,当用户从后面切换到前面(反之亦然)时,它会通知我。我在阅读苹果公司的文档,却找不到任何类似的东西 例如,在guy中添加了一个自定义按钮,用于在前后摄像头之间切换。这是唯一的选择吗?对于那些面临同样问题的人,我发现 这是它的Swift 5翻译: var context=0 重写func viewDidLoad(){ super.viewDidLoad() //登记通知 让notificationCenter=notific

基本上,我正在寻找的是一个UIImagePickerContoller函数,当用户从后面切换到前面(反之亦然)时,它会通知我。我在阅读苹果公司的文档,却找不到任何类似的东西


例如,在guy中添加了一个自定义按钮,用于在前后摄像头之间切换。这是唯一的选择吗?

对于那些面临同样问题的人,我发现

这是它的Swift 5翻译:

var context=0
重写func viewDidLoad(){
super.viewDidLoad()
//登记通知
让notificationCenter=notificationCenter.default
notificationCenter.addObserver(self,选择器:#选择器(HandleCaptureSessiondStartRunning(通知:)),名称:NSNotification.name.avCaptureSessiondStartRunning,对象:nil)
notificationCenter.addObserver(self,选择器:#选择器(HandleCaptureSessiondStopRunning(通知:)),名称:NSNotification.name.avCaptureSessiondStopRunning,对象:nil)
}
@objc func HandleCaptureSessiondStartRunning(通知:NSNotification){
guard let session=notification.object as?AVCaptureSession else{return}
session.addObserver(self,forKeyPath:“输入”,选项:[.old、.new],上下文:&上下文)
}
@objc func handleCaptureSessionDidStopRunning(通知:NSNotification){
guard let session=notification.object as?AVCaptureSession else{return}
session.removeObserver(self,forKeyPath:“输入”)
}
重写func observeValue(forKeyPath keyPath:String?,对象的类别:Any?,更改:[NSKeyValueChangeKey:Any]?,上下文:UnasFemeutableRawPointer?){
如果上下文==&self.context{
如果让输入=将?[NSKeyValueChangeKey.newKey]更改为?[AnyObject],则让captureDevice=(inputs.first为?AVCaptureDeviceInput)?.device{
开关捕捉装置位置{
案件背景:
打印(“切换到后摄像头”)
案件正面:
打印(“切换到前摄像头”)
违约:
打破
}
}
}否则{
super.observeValue(forKeyPath:keyPath,of:object,change:change,context:context)
}
}

@jawadAli谢谢,但这并不是我真正想要的。因为第一,它不是一个函数,第二,它不是Swift,第三,它不是我想要的