swift - 循环通过 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)")
}
}
解决方案
您正在使用一个名为的属性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
}
推荐阅读
- laravel - laravel spatie/media library 使用 cloudfront 提供来自 s3 的图像
- django - 如何自定义 DjangoModelPermissions 以拒绝 GET、HEAD 和 OPTIONS 请求
- sql-server - ORA-28545: Net8 在连接到代理时诊断出错误(Oracle linux 连接到 Sql Server Windows)
- mysql - Admin Dashboard 中的 Laravel 用户管理
- android - Android导航组件 - 如何从后台弹出startDestination?
- react-redux - 在 Next.js 中使用 Nodemailer 时无法解析 child_process
- typescript - 将 Array 属性从对象数组拆分为两个单独的数组
- google-cloud-platform - 使用 Deployment Manager 模板配置防火墙和启动脚本
- python - 将列表与 DataFrame 中的每条记录进行比较
- arrays - 如何为数组的每个索引为表创建行?