【发布时间】:2016-07-28 20:48:42
【问题描述】:
每次我按“项目”时,都会将一个新的颜色对象添加到这一行视图中,我希望“行”按钮按原样复制这一行并在按下时将其放置在该行上方,所以我有两个 (或多个)行彼此重叠。我对行按钮进行了这样的操作:
let hc = contentView1
hc?.setFrameOrigin(NSPoint(x: 0, y: (positionY*50)))
positionY += 1
contentView2?.addSubview(hc!)
但是每次我按下那个按钮时,同一行只会移动而不是复制,就像这样:
我做错了什么?
【问题讨论】:
-
您可以为项目按钮添加代码吗?
-
嘿 :) 感谢您的编辑,但您将图像放置在彼此的位置。按钮没有代码,它只是一个 NSButton
-
我添加了我的 xcode 项目,以便他们可以看到。它现在消失了!!
-
没关系,我认为你不需要它。您可以添加 contentView1 和 contentView2 所指的内容吗?
-
看起来问题在于您正在创建一个与您要复制的视图相同的新视图。但是,NSView 是引用类型,而不是值类型。因此,编辑一个视图将编辑另一个视图。
标签: swift cocoa nsview nscoding