0
在我的MacOS應用程序的主視圖中,我試圖佈置一堆圖像視圖彼此相鄰。MacOS - 如何以編程方式將圖像視圖彼此相鄰放置?
我使用的邏輯是,所述第一子視圖有其leadingAnchor
組作爲主視圖的leadingAnchor
,和每一個後續的子視圖有其leadingAnchor
組作爲前一子視圖的trailingAnchor
。
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
}
但是,我看到只有一個圖像,而不是像我期望的那樣彼此相鄰放置。
Swift/Xcode/MacOs開發新手。我錯過了什麼?
編輯:
如果我更換線
var imgView = NSImageView(frame: NSRect(origin: .zero, size: img.size))
imgView.image = img
與
imgView = NSImageView(image: img)
我沒有看到任何東西。
EDIT2: 與
var imgView = NSImageView(frame: NSRect(origin: CGPoint(x: x, y: 0), size: img.size))
x += 100
更換
var imgView = NSImageView(frame: NSRect(origin: .zero, size: img.size))
的伎倆。
「但是我只看到一個圖像」顯然,你們都將它們定位在.zero。我建議你回到一本書並閱讀控制流程。 https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/ControlFlow.html#//apple_ref/doc/uid/TP40014097-CH9-ID120 –
請參閱編輯。 (我沒有在這裏用控制流邏輯掙扎,但是顯示/定位視圖) –