2016-07-23 50 views
0

我有一个保存图像按钮,用于在拍摄新图像后将图像保存到照片库,或者在应用程序内导入和修改现有照片。如何停止ios按钮的运行,直到满足特定条件?

但是,如果按下保存图像按钮而没有拍摄或加载到应用程序中的图像,它会挂起并由于无法保存图像而无法响应。

任何建议,我需要停止按钮的功能,直到图像加载?

//Save Image Button Function 
@IBAction func saveImage(_ sender: AnyObject) { 
    let imageData = UIImageJPEGRepresentation(photoViewer.image!, 1.0) 
    let compressedJPGImage = UIImage(data: imageData!) 
    UIImageWriteToSavedPhotosAlbum(compressedJPGImage!, nil, nil, nil) 
    let alert = UIAlertView(title: "Saved!", 
          message: "Your image has been saved to Photo Library!", 
          delegate: nil, 
          cancelButtonTitle: "Ok") 
    alert.show() 
+0

这篇文章可能有你的答案:http://stackoverflow.com/questions/25524638/disable-a-button-on-swift 如果您张贴一些代码我们可以给你一个更具体的解决方案。 – Nicko

+0

嗨Nicko感谢您的回复。我实际上并不想彻底禁用按钮,因为它稍后需要。这是我对这个特定的按钮的代码: //保存图像按钮功能 @IBAction FUNC saveImage(_发件人:AnyObject){ 让的imageData = UIImageJPEGRepresentation(photoViewer.image!1.0) 让compressedJPGImage = UIImage的(数据:imageData!) UIImageWriteToSavedPhotosAlbum(compressedJPGImage!,nil,nil,nil) let alert = UIAlertView(title:“Saved!”,message:“Your image has saved to Photo Library!”,delegate:nil,cancelButtonTitle: “Ok”) alert.show() – DSpooner

+0

嗨DSpooner,没关系,通过再次将该属性设置为“true”,该按钮仍然可以在任何时候重新启用。检查下面的@MShahmeer的响应,他们已经指出将它初始化为“false”的位置,以及将它重新设置为“true”的位置。 – Nicko

回答

0

首先,在viewDidLoad,通过按下关闭按钮:

button.enabled = false 

然后,使用一个条件if语句在此检查的图像是否已经被加载到应用程序。如果有,重新启用该按钮:

button.enabled = true 
+0

谢谢@Nicko和@MShahmeer,这对swift 2.2有效但是对于swift 3这个稍微改变了'button.isEnabled = false' – DSpooner

+0

啊是的,这是正确的。为疏忽而道歉! – MShahmeer

相关问题