swift - Swift:NSStackView,bug 只添加了一个子视图
问题描述
您好,在下面的代码中,我想将 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)
推荐阅读
- ruby - 如何解释此调试器输出?
- javascript - 如何在使用 javascript 进行处理之前检查客户端区域设置日期时间是否正确?
- android - 为什么我在 Google Play 控制台中收到 SMS 和 CALL_LOG 警告,当我的应用程序不使用任何远程接近这些权限的东西时?
- python-3.x - “分段错误:11”是什么意思?怎么修?
- haskell - 为什么 Haskell 变量在被模式匹配绑定时不是多态的?
- java - 无法从 Android ArrayList 中删除重复值
- python - OSError: [WinError 193] %1 不是有效的 Win32 应用程序 (LibTiff)
- hive - 从 SAS 到 Hive 的数据摄取
- python - 用 Python 实现猜词游戏
- python - 如何在 django oscar 的策略中应用可变税?