在我的MacOS应用程序的主视图中,我正在尝试将一堆图像视图彼此相邻布局。
我使用的逻辑是第一个子视图将其leadingAnchor
设置为主视图的leadingAnchor
,并且每个后续子视图都将其leadingAnchor
设置为{前一个子视图的{1}}。
trailingAnchor
但是我只看到一张图片,而不是像我预期的那样将它们放在一起。
是Swift / Xcode / MacOs开发的新手。我错过了什么?
编辑:
如果我更换行
let imgWidth :CGFloat = 100, imgHeight :CGFloat = 100
var leadingAnchor = self.view.leadingAnchor
for /*loop logic*/ {
let img: NSImage = funcToGetImage()
var imgView = NSImageView(frame: NSRect(origin: .zero, size: img.size))
imgView.image = img
self.view.addSubview(imgView)
imgView.widthAnchor.constraint(equalToConstant: imgWidth).isActive = true
imgView.heightAnchor.constraint(equalToConstant: imgHeight).isActive = true
imgView.leadingAnchor.constraint(equalTo: leadingAnchor).isActive = true
leadingAnchor = imgView.trailingAnchor
}
带
var imgView = NSImageView(frame: NSRect(origin: .zero, size: img.size))
imgView.image = img
我什么都没看到。
EDIT2: 替换
imgView = NSImageView(image: img)
与
var imgView = NSImageView(frame: NSRect(origin: .zero, size: img.size))
做了这个伎俩。
答案 0 :(得分:0)
根据El Tomato的评论,我取代了
var imgView = NSImageView(frame: NSRect(origin: .zero, size: img.size))
与
var imgView = NSImageView(frame: NSRect(origin: CGPoint(x: x, y: 0), size: img.size))
x += 100
这就是诀窍。