Swift: NSStackView, bug 只添加了一个子视图
Swift: NSStackView, bug only one subview is added
你好,在我下面的代码中,我想将 NSImageView 添加到我的 stackView 中,但是有一个错误,因为只添加了一个。循环是 3 次迭代,所以通常我应该有 3 张图像:
let imageView = NSImageView(frame: NSRect(x: 0, y: 0, width: 50, height: 50))
imageView.image = image.image
icons.forEach { _ in
stackImage.addArrangedSubview(imageView)
}
print(stackImage.subviews.count) // Outpout 1
在 forloop 中创建 NSImageView 实例。
你需要检查 stackImage.arrangedSubviews.count
而不是 stackImage.subviews.count
var icons = [NSImage(named: ""),NSImage(named: ""),NSImage(named: "")]
icons.forEach { image in
let imageView = NSImageView(frame: NSRect(x: 0, y: 0, width: 50, height: 50))
imageView.image = image
stackImage.addArrangedSubview(imageView)
}
print(stackImage.arrangedSubviews.count)
你好,在我下面的代码中,我想将 NSImageView 添加到我的 stackView 中,但是有一个错误,因为只添加了一个。循环是 3 次迭代,所以通常我应该有 3 张图像:
let imageView = NSImageView(frame: NSRect(x: 0, y: 0, width: 50, height: 50))
imageView.image = image.image
icons.forEach { _ in
stackImage.addArrangedSubview(imageView)
}
print(stackImage.subviews.count) // Outpout 1
在 forloop 中创建 NSImageView 实例。
你需要检查 stackImage.arrangedSubviews.count
而不是 stackImage.subviews.count
var icons = [NSImage(named: ""),NSImage(named: ""),NSImage(named: "")]
icons.forEach { image in
let imageView = NSImageView(frame: NSRect(x: 0, y: 0, width: 50, height: 50))
imageView.image = image
stackImage.addArrangedSubview(imageView)
}
print(stackImage.arrangedSubviews.count)