使用IB,我将NSView(menuView)放入了另一个。

我已经设置好插座并将其连接到menuView。

我以为:“ [self.menuView setHidden:NO]”将取消隐藏它,但似乎无法正常工作。

我还需要做什么?

最佳答案

我们用连接的插座Fred来调用对象。

您在笔尖中实例化了Fred,对吗?

弗雷德(Fred)正在装载笔尖,对吗?

如果对这两个问题中任何一个的回答为“否”,则无视此答案。

如果对他们两个的回答都是“是”,则继续阅读。

错了弗雷德应该只做这两件事之一。您有可能使Fred成为文件的所有者,并在那里建立连接。您在笔尖中创建的额外Fred就是这样-额外的Fred,仅次于装载笔尖的Fred。您有两个Fred,而您报告连接的一个(我想是响应一个操作消息)不是您的出口已连接到菜单视图的那个。

杀死笔尖中的Fred,只剩下装载笔尖的Fred。在笔尖中,将文件的所有者声明为Fred的类,并在Fred的实现中,确保在加载笔尖时您是文件的所有者。

如果使用NSWindowController加载它,则需要显式地将自己传递为所有者;否则,NSWindowController是所有者。由于您希望Fred成为所有者,因此需要在实例化时告诉窗口控制器。另一种方法是使用NSBundle直接加载笔尖,而无需中间的窗口控制器。

关于cocoa - cocoa :将IB中的 View 设置为隐藏...无法取消隐藏!,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3595002/

10-12 14:49