0

我对这段代码很生气,因为它只显示了最后一个视图(在它的正确位置)并且忘记了绘制其他视图......

// Gets a stack of devices
let volumes = getDevices()
var index = 0
for device in volumes {
    let volume = devicePrototype
    // devicePrototype it's a custom view
    volume?.setName(name: device.name) // setting the label for the name
    volume?.setIcon(icon: device.icon) // setting the image for the icon
    // Setting the position of the view (width = 600, height = 105)
    // and all the views have the same size.
    volume?.layer?.frame = CGRect(x: 0, y: index * 105, width: 600, height: 105)
    // Adding the view to the NSClipView (Here's the problem :P)
    devicesStack.addSubview(volume!)
    index += 1
}

你能帮我找出问题吗?

4

1 回答 1

0

我认为您只创建一个视图(设备)并通过循环对其进行修改。您devicePrototype重复引用同一对象并仅更改属性。请检查一下。

尝试在每次迭代中初始化一个新对象,

let volume = DevicePrototype()
于 2017-01-06T22:16:13.903 回答