使用IB,我已经放弃了另一个NSView(menuView)。Cocoa:在IB中将视图设置为隐藏...无法取消隐藏!
我已经建立了我的插座并将其连接到menuView。
我想:“[self.menuView setHidden:NO]”将取消隐藏它,但它似乎没有工作。
我还需要做什么?
使用IB,我已经放弃了另一个NSView(menuView)。Cocoa:在IB中将视图设置为隐藏...无法取消隐藏!
我已经建立了我的插座并将其连接到menuView。
我想:“[self.menuView setHidden:NO]”将取消隐藏它,但它似乎没有工作。
我还需要做什么?
我们用连接的出口Fred调用对象。
您在笔尖实例化了Fred,对吗?
而且你有Fred加载笔尖,对吗?
如果对这两个问题中的任何一个的答案都是“否”,则忽略此答案。
如果答案都是“是”,请继续阅读。
这是错误的。弗雷德应该只做这两件事中的一件。有机会,你打算让Fred成为文件的所有者,并在那里连接连接。你在笔尖上创造的额外的弗雷德就是这样 - 一个额外的弗雷德,第二个弗雷德,加载了笔尖。你有两个Freds,并且你已经连接到菜单视图的那个连接(对于一个动作信息,我猜测)并不是你的连接。
在喙中关闭Fred,只留下装载笔尖的Fred。在笔尖中,声明文件的所有者为Fred的类,并在Fred的实现中,确保在加载笔尖时您是文件的所有者。
如果您使用NSWindowController加载它,则需要明确传递自己作为所有者;否则,NSWindowController是所有者。既然你想让Fred成为所有者,那么当你实例化它时,你需要告诉窗口控制器。另一种方法是使用NSBundle直接加载笔尖,而不需要中间窗口控制器。
menuView.hidden = NO;
也许?
IB视图对象是否连接到menuView变量?否则,修改menuView将是一个无操作。我会在调试器中运行它,并确保在setHidden调用中menuView不为null。如果是,请返回IB并确保将视图连接到插座。
对于列出的海报,这只是不同的语法。 – samkass 2010-08-29 14:29:56