Как показать разные изображения в uimageview по нажатию кнопки - PullRequest
0 голосов
/ 23 июня 2019

Я разработал приложение для iOS с кнопкой, управлением сегментами и представлением uiimageview.В папке ресурсов есть 26 изображений с именами от card1 до card26.Если я использую приведенный ниже код, он отображает каждое из 26 изображений в случайном порядке.Как бы я перевернул этот код, чтобы показать каждое изображение в порядке названия изображения, card1 ... card2 ... etc?Я искал последний час и не могу найти именно то, что ищу.Я ценю помощь.

let Number = Int.random(in: 2...26) 
imageView.image = UIImage(named: "card\(Number)")

1 Ответ

1 голос
/ 23 июня 2019

Создайте свойство вашего ViewController с именем number для отслеживания текущего number.Увеличьте его в @IBAction и установите его обратно в 1, когда оно достигнет 27:

class ViewController : UIViewController {
    @IBOutlet var imageView: UIImageView!
    var number = 1

    override func viewDidLoad() {
        super.viewDidLoad()

        imageView.image = UIImage(named: "card1")
    }

    @IBAction func buttonPressed(_ sender: UIButton) {
        // use % (mod function) to keep result in the range 1...26
        number = number % 26 + 1
        imageView.image = UIImage(named: "card\(number)")
    }
}

В качестве альтернативы, вы можете просто увеличить шаг действия кнопки number и использоватьНаблюдатель свойства на number для обновления image:

class ViewController : UIViewController {
    @IBOutlet var imageView: UIImageView!

    var number = 1 {
        didSet {
            if number == 27 {
                number = 1
            }
            imageView.image = UIImage(named: "card\(number)")
        }
    }

    override func viewDidLoad() {
         super.viewDidLoad()

         imageView.image = UIImage(named: "card1")
    }

    @IBAction func buttonPressed(_ sender: UIButton) {
        number = number + 1
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...