Ios 如何在Swift中使UIImageView照片在一段时间间隔后消失
我正在开发一个用于分割的摄像头应用程序,我成功地捕获了实时照片,并以缩略图的形式显示在UIImageView中。现在,如果用户不触摸,我希望它在3秒钟内消失(比如拍摄照片时IOS摄像头的行为)。你能帮我实现吗?请参阅下面我代码的相关部分。非常感谢Ios 如何在Swift中使UIImageView照片在一段时间间隔后消失,ios,swift,nstimer,Ios,Swift,Nstimer,我正在开发一个用于分割的摄像头应用程序,我成功地捕获了实时照片,并以缩略图的形式显示在UIImageView中。现在,如果用户不触摸,我希望它在3秒钟内消失(比如拍摄照片时IOS摄像头的行为)。你能帮我实现吗?请参阅下面我代码的相关部分。非常感谢 // MARK: -- Action to Capture Photo extension ViewController { @IBAction func photoButtonAction(sender: UIButton) {
// MARK: -- Action to Capture Photo
extension ViewController {
@IBAction func photoButtonAction(sender: UIButton) {
CameraManager.shared.capture { [weak self] (pixelBuffer, sampleBuffer) in
self?.handleCameraOutput(pixelBuffer: pixelBuffer, sampleBuffer: sampleBuffer, onFinish: { (image) in
self?.imagePreview.image = image
let pngData = image!.pngData()
let compressedData = UIImage(data: pngData!)
self!.writeToPhotoAlbum(image: compressedData!)
})
}
}
func writeToPhotoAlbum(image: UIImage) {
UIImageWriteToSavedPhotosAlbum(image, self, #selector(saveError), nil)
}
@objc func saveError(_ image: UIImage, didFinishSavingWithError error: Error?, contextInfo: UnsafeRawPointer) {
}
}
您可以使用如下方法使用
DispatchQueue.main.asyncAfter(截止日期:)
:
var noUserInteractionOnImage = true // toggle this if user interacts with image
@IBAction func photoButtonAction(sender: UIButton) {
CameraManager.shared.capture { [weak self] (pixelBuffer, sampleBuffer) in
self?.handleCameraOutput(pixelBuffer: pixelBuffer, sampleBuffer: sampleBuffer, onFinish: { (image) in
//...
DispatchQueue.main.asyncAfter(deadline: .now() + 3) {
if self?.noUserInteractionOnImage == true {
self?.imagePreview.image = nil
}
}
})
}
}
酷。。。它工作得很好。非常感谢您的支持,不客气。如果它有帮助的话,那就标记为正确并投票。我已经做到了,但我的行动点不足以显示我的投票。现在我已经超过了门槛,可以投票了