Swift3 IOS 10-Swift 3.0:停止授权功能以保存图像
我正在用swift 3、xCode 8.2和IOS10制作一个应用程序。该界面有一个热视觉屏幕(FLIR-ONE)。我的问题是,我怎样才能拍照?我的代码是:Swift3 IOS 10-Swift 3.0:停止授权功能以保存图像,swift3,delegates,xcode8,ios10,dispatch-async,Swift3,Delegates,Xcode8,Ios10,Dispatch Async,我正在用swift 3、xCode 8.2和IOS10制作一个应用程序。该界面有一个热视觉屏幕(FLIR-ONE)。我的问题是,我怎样才能拍照?我的代码是: import UIKit class ThermalCameraVC: UIViewController, FLIROneSDKImageReceiverDelegate, FLIROneSDKStreamManagerDelegate { //MARK: OUTLETS @IBOutlet weak var i
import UIKit
class ThermalCameraVC: UIViewController, FLIROneSDKImageReceiverDelegate, FLIROneSDKStreamManagerDelegate {
//MARK: OUTLETS
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var labelStatusCamera: UITextField!
@IBOutlet weak var labelCargeCamera: UITextField!
@IBOutlet weak var icnCancelPicture: UIButton!
@IBOutlet weak var icnUploadPicture: UIButton!
@IBOutlet weak var iconTakePicture: UIButton!
//MARK: VARIABLES
var simulatorStatus = false
var cameraBussy = false
override func viewDidLoad() {
super.viewDidLoad()
FLIROneSDKStreamManager.sharedInstance().addDelegate(self)
FLIROneSDKStreamManager.sharedInstance().imageOptions = FLIROneSDKImageOptions(rawValue: FLIROneSDKImageOptions.blendedMSXRGBA8888Image.rawValue)!
icnCancelPicture.isHidden = true
icnUploadPicture.isHidden = true
}
//MARK: CANCEL PICTURE
@IBAction func cancelPicture(_ sender: Any) {
cameraBussy = false
}
//MARK: UPLOAD PICTURE AMAZON S3
@IBAction func uploadPicture(_ sender: Any) {
}
func flirOneSDKDelegateManager(_ delegateManager: FLIROneSDKDelegateManager!, didReceiveBlendedMSXRGBA8888Image msxImage: Data!, imageSize size: CGSize){
let image = FLIROneSDKUIImage(format: FLIROneSDKImageOptions.blendedMSXRGBA8888Image, andData: msxImage, andSize: size)
//HERE I NEED TO STOP THE DELEGATED FUNCTION TO SAVE THE IMAGE !!
if self.cameraBussy{
//cameraBussy = false
}else{
DispatchQueue.main.async{
self.imageView.image = image
}
}
}
@IBAction func takeThermalPicture(_ sender: Any) {
cameraBussy = true
icnCancelPicture.isHidden = false
icnUploadPicture.isHidden = false
iconTakePicture.isHidden = true
}
}
如何停止此委托功能中的数据流?因为它一直在调用。将委托值设置为nil
@IBAction func takeThermalPicture(_ sender: Any) {
FLIROneSDKStreamManager.sharedInstance().addDelegate(nil)
cameraBussy = true
icnCancelPicture.isHidden = false
icnUploadPicture.isHidden = false
iconTakePicture.isHidden = true
}
您想只调用一次代理函数flirOneSDKDelegateManager吗?我想在苏联按下摄像头按钮时停止代理函数。因为在这一刻将是苏联需要这个框架来发送给API Rest的。