swift - 为 forEach 循环中的每个项目生成随机背景颜色
问题描述
我想做的是看看它是否有可能在每个循环中我可以为每个项目分配一个随机背景颜色。我在下面尝试了一些东西,但没有编译。我知道有一种方法可以通过在 for each 之外设置一个变量并作为 uicolor 的一部分增加,但我想看看是否有一种方法可以在不创建变量的情况下做到这一点。
var frontBox = UIButton()
var backBox = UIButton()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
[frontBox,backBox,slider].forEach{
$0.translatesAutoresizingMaskIntoConstraints = false
view.addSubview($0)
$0.backgroundColor = ar4random().uicolor
}
}
解决方案
斯威夫特不再使用ar4random
- 要获得一个随机数,你使用.random(in: 0...1)
或类似的 .
此外,$0.backgroundColor
接受一个UIColor
,而不是一个数字。您可能正在寻找这样的东西:
$0.backgroundColor = UIColor(
red: .random(in: 0...1),
green: .random(in: 0...1),
blue: .random(in: 0...1),
alpha: 1
)
这由UIColor
from red
、green
和blue
组件 组成,它们都是随机数 from0
到1
。
推荐阅读
- angular - Angular Lifecycle Interface OnChanges 应该为方法 ngOnChanges 实现
- selenium - 在 AWS Lambda 上调试 Selenium 和 Chromedriver(无法访问 Chrome)
- lua - ROBLOX LUAu | 获取 DataStore 中的所有键和值
- json - RestSharp:使用 request.AddJsonBody() 命名参数?
- css - 如何使用 AVADA 在 WooCommerce 网站上制作产品页面库 STICKY?
- geopandas - 动态设置 folium 缩放和位置到 geopandas 数据框范围
- java - 在 JUnit 测试中使用 Maven 时通过 log4j2 获取 JUL 日志
- python - Flask Session 在刷新时丢失登录会话数据
- mongodb - 无法为 Rocketchat 配置 MongoDB——使用 Docker 和 Ansible
- react-native - 如何在后台跟踪用户位置,反应原生?