【发布时间】:2015-10-11 17:53:23
【问题描述】:
我有三个 NSView(我们称它们为“main”、“one”和“two”)。 “主”视图充当“一”和“二”子视图的容器:
[main addSubview:one];
...
// "one" gets replaced by "two" at a later point
...
[main replaceSubview:one with:two];
我遇到的问题是NSTextField 驻留在“一”上,我也想出现在“二”上,所以当“一”被替换时它就在那里。问题是我似乎无法弄清楚如何引用或复制NSTextField,以便它可以出现在两个视图上并被两者使用。
是否可以在多个NSViews中使用相同的NSTextField?
【问题讨论】:
-
main、one和two是否属于同一类?每个视图只能看到与其在同一类中的引用插座。 -
main有它自己的NSView子类,one和two一起在AppDelegate中作为NSViews,它包含main视图子类。 -
所以
main是NSView的子类,而one和two是常规NSViews? -
同一个instance不能在两个地方。同一个类的两个不同的实例可以在两个地方,但不能是同一个实例。为什么你甚至认为你需要这个?
标签: objective-c xcode macos cocoa-touch nsview