2016-07-23 4 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

Привет, Нико спасибо за ответ. Я действительно не хочу отключать кнопку прямо, так как это понадобится позже. Это код, у меня есть для этой конкретной кнопки: // Сохранить изображение Кнопка Функция @IBAction FUNC saveImage (_ отправитель: AnyObject) { пусть ImageData = UIImageJPEGRepresentation (photoViewer.image !, 1,0) пусть compressedJPGImage = UIImage (data: imageData!) UIImageWriteToSavedPhotosAlbum (сжатыйJPGImage !, nil, nil, nil) let alert = UIAlertView (название: «Сохранено!», сообщение: «Ваше изображение сохранено в Photo Library!», делегат: nil, cancelButtonTitle: «Ok») alert.show() – DSpooner

+0

Привет, DSpooner, все в порядке, кнопка все равно может быть снова включена в любой момент, снова задав свойство true. Проверьте ответ от @MShahmeer ниже, они указали, где инициализировать его на 'false' и где снова установить его в true. – Nicko

ответ

0

Во-первых, в viewDidLoad, отключить кнопку от того прижат:

button.enabled = false 

Затем, используя условное, если оператор, где проверяется, загружен ли изображение в приложение. Если у него есть, повторно активировать кнопку с помощью:

button.enabled = true 
+0

Спасибо и @Nicko и @ MShahmeer, это работает для swift 2.2, но для swift 3 это немного изменилось. Button.isEnabled = false ' – DSpooner

+0

Ах да, это правильно. Извинения за надзор! – MShahmeer

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