我在写一个可可应用程序。一个对话框有3个选项卡,一些选项卡需要更多的加载时间,所以我想要加载他们懒惰。由于每个Tab是一个NSTabViewItem类,所以我试图从它派生并覆盖它的视图属性。在视图getter方法中,我使用ViewController来加载视图并返回。在调试中,我发现NSTabViewItem -view方法被调用正确,但之后,NSTabView尝试设置初始FirstResponder并崩溃消息:派生自NSTabViewItem
***由于未捕获异常'NSInvalidArgumentException'终止应用程序,原因:'In - [NSTabViewItem setInitialFirstResponder:],第一个响应者必须从标签视图项目的视图中下降。 (Item:Invalid responder :)'
我试着重写-initialFirstResponder方法来返回我加载视图的子视图,但它仍然崩溃在同一个地方。
没有人知道如何让它正常工作吗?也正是通过派生NSTabViewItem来做到这一点的正确方法?
谢谢! -Jonny
或者就叫 - [NSTabViewItem的setView:]跟你的新看法 – 2010-01-27 13:49:50
是的,我想重写-view方法会让我有机会延迟加载选项卡视图,但是看起来NSTabView始终在启动时加载所有视图。 – Jonny 2010-02-04 03:27:01