Что вам нужно сделать, это не повторно инициализировать UIButton
в функции animation
; так, закомментируйте эту строку:
//var animationButton : UIButton!
Кроме того, только имея IBOutlet
, мы должны также IBAction
вашей функции animation
. Сделайте то же, что и для своей кнопки, управляя перетаскиванием «строки» в блок функции (отметьте IBAction
, а не IBOutlet
).
Немного проходных, пока вы еще в раскадровке:
Что у вас есть только одна кнопка под названием: animationButton
, который является IBOutlet
от раскадровку к вашему кода путем перетаскивания строки «строка».
Для вашего animation
функции: Control перетаскивание также из раскадровки из «линии» для блока функции animation
.
- Настройте начальное изображение для вашей кнопки в раскадровке, как будет указано ниже.
Кроме того, мы должны создать исходное изображение в режиме раскадровки; В противном случае свойство изображения кнопки равно nil
.
Пожалуйста, сделайте это в раскадровке, щелкнув правой кнопкой мыши «Инспектор атрибутов», а затем установите изображение, где указано «изображение». В качестве теста я установил его как «1.jpg».
Таким образом, вы код должен выглядеть следующим образом:
@IBOutlet weak var animationButton: UIButton!
@IBAction func animation()
{
print("button touched")
//var animationButton : UIButton!
var imageList = [UIImage]()
var image1:UIImage = UIImage(named:"1.jpg")!
var image2:UIImage = UIImage(named:"2.jpg")!
//animationButtonscreenButton = screenButton;
imageList = [image1, image2];
animationButton!.imageView!.animationImages = imageList
animationButton!.imageView!.animationDuration = 1.0
animationButton!.imageView!.startAnimating()
}
Просто побежал быстрый тест; он получает событие касания и изображения оживляют на кнопке. Надеюсь это поможет.
UIButton не инициализирован ... – Shoaib
И поэтому вы должны использовать '?' И '!', Когда это необходимо. Не '' 'весь код, потому что он будет скрывать ошибки. Если что-то должно быть там, используйте развертку силы '!'. Или в этом случае просто необязательная переменная. Вы бы видели проблему очень рано. –
i) инициализировать UIButton ii) установить его фрейм iii) addSubview на ваш взгляд – Shoaib