2015-12-30 3 views
2

В viewcontroller у меня есть два изображения друг над другом и две кнопки, помеченные как предыдущие, так и следующие.Как проверить, полностью ли загружена UIImage из активов

У меня есть массив UIImage с

let images = [UIImage(named: "1"), UIImage(named: "2"), UIImage(named: "3")] 

У меня есть этот вспомогательный метод для перехода к следующему изображению затухания

func changeImage(image: UIImage){ 
self.topImageView.alpha = 0 //This is to initially make the next image to fade in 
self.topImageView.image = image 
UIView.animateWithDuration(0.5, animations: {() -> Void in 
self.topImageView.alpha = 1.0 //this will fade in the next image 
}) { (Bool) -> Void in 
    self.bottomImageView.image = image //Previous image will be replaced with the now current image after fade 
    } 
} 

Я приложил этот вспомогательный метод на пред и следующие кнопки цикл через изображения

Проблема теперь, когда я нажимаю кнопку, анимация затухания не работает и просто загружает изображение на бочку omImageView. Но когда я иду к предыдущему, происходит затухание.

Я верю, что причина этого в том, что следующее изображение все еще загружается в первый раз, а затем, пытаясь вернуться к нему, исчезнет в конечном итоге.

Итак, как вы загружаете изображения заранее, чтобы анимация затухания работала?

ответ

4

Я бы рекомендовал удалиться от двух накладок UIImageView и просто использовать его. Затем вы можете использовать следующий код, чтобы изменить изображение анимированное:

UIView.transitionWithView(self.topImageView, duration: 0.5, options: [.TransitionCrossDissolve], animations: {() -> Void in 
    self.topImageView.image = image 
    }) { completed in 
     print("transition finished") 
} 

Два imageViews только ввести нежелательные проблемы (как ясно показывает ваш вопрос). И одно представление просто намного чище.

Относительно вашей теории о том, почему ваш код не работает должным образом: я не слышал, чтобы загрузка изображения занимала какое-то значительное время - должно быть что-то еще не так. Например, ваш topImageViewдействительно на другой вид?

+0

Спасибо! Понял. Обнаружили, что по какой-то причине эта ошибка находится в iPhone 4S, но на 5 и более поздних версиях не отображается проблема, с которой я сталкиваюсь. –

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