swift - forEach 自动布局约束未出现
问题描述
我的 swifts 代码使用 for 循环显示到图像视图。现在代码构建,但没有出现。我知道我必须将第二个框的领先锚约束移动到 0.25 上。但我认为第一个盒子是 box1 会出现,但什么也没有出现,我不知道为什么。
import UIKit
class ViewController: UIViewController {
var box1 = UIButton();var box2 = UIButton()
override func viewDidLoad() {
super.viewDidLoad()
[box1,box2].forEach{
view.addSubview($0)
$0.backgroundColor = .red
$0.translatesAutoresizingMaskIntoConstraints = false
$0.heightAnchor.constraint(equalTo: $0.heightAnchor, multiplier: 30).isActive = true
$0.widthAnchor.constraint(equalTo: $0.widthAnchor, multiplier: 30).isActive = true
$0.leadingAnchor.constraint(equalTo: $0.leadingAnchor ).isActive = true
$0.topAnchor.constraint(equalTo: $0.topAnchor).isActive = true
}
}
}
解决方案
我不知道您要在视图中放置按钮的位置,因为您没有将任何视图引用到要对齐的按钮。试试下面的代码,让我知道它是否适合你。
$0.leadingAnchor.constraint(equalTo: self.view.leadingAnchor, constant: 15).isActive = true
$0.topAnchor.constraint(equalTo: self.view.topAnchor, constant: 15).isActive = true
$0.heightAnchor.constraint(equalToConstant: 30).isActive = true
$0.widthAnchor.constraint(equalToConstant: 30).isActive = true
请注意,您尝试使用“ multiplier ”而不是“ equalToConstant ”来设置高度。是的,您可以使用乘数,但前提是您想根据父视图或任何其他视图缩放图像,但在这种情况下,您需要将其设置为常量,因为您为其提供了一个浮点值。
推荐阅读
- python - 我在网页抓取 python 时遇到问题
- c++ - 以 pgm 文件格式的输出构建频率表
- sql - 需要过滤 postgres 中记录共享一个公共 id 但任何一条都未能通过子查询的所有行
- azure - 如何在 Azure 数据工厂中的触发器运行期间将参数传递给管道?
- r - 如何根据 R 中稀疏矩阵的阈值替换行值?
- jmeter - 在 VPN 上时无法从 jmeter 成功发出 HTTP 请求
- python - 在 Pandas 中的组内标准化
- python - 将 spark 数据帧中 MapType 类型的列的数据转换为字符串
- android - 在 Linux 内核 XHCI 驱动程序中插入 printk 调用会导致 ENOMEM 错误?
- react-google-maps - 如何删除 react-google-maps 中的标记