首页 > 解决方案 > 循环通过 UIImageView 时如何将索引计数重置为 1

问题描述

我有一个 UIImageView 显示 AZ 字母的图片卡。我使用分段控件来确定卡片是按 AZ 顺序显示还是随机显示。

每当我按顺序开始时,如果我切换到随机然后再回到按顺序,索引就会从我离开的地方开始。因此,如果我在卡 C,切换到随机,做一些然后按顺序切换回,下一张卡是 D,我希望它从 A(索引 1)重新开始。如何将索引计数器重置为索引 1?

我正在使用以下变量: var number = 1

我在按钮单击时调用了它:

@IBAction func dealBTN(_ sender: Any) {
        if segControl.selectedSegmentIndex == 0 {
            imageView.image = UIImage(named: "card1")
            imageView.image = UIImage(named: "card\(number)")
            number = number % 26 + 1
        }
        else if segControl.selectedSegmentIndex == 1 {
            let Number = Int.random(in: 1...26)
            imageView.image = UIImage(named: "card\(Number)")
        }
    }

标签: swiftxcode

解决方案


您正在使用一个名为的属性number来跟踪您的下一张卡片,以便在它们有序时显示。只需将其设置为1每当您选择随机卡片时,索引就会在1您下次选择有序卡片时返回:

if segControl.selectedSegmentIndex == 0 {
    imageView.image = UIImage(named: "card\(number)")
    number = number % 26 + 1
}
else if segControl.selectedSegmentIndex == 1 {
    let random = Int.random(in: 1...26)
    imageView.image = UIImage(named: "card\(random)")
    number = 1
}

推荐阅读