我遵循了与TTSplitViewController的TTCatalog示例相同的代码,从应用程序委托代码,TTSplitViewController代码以及TTTableViewController的代码开始。但是,当我运行这些应用程序时,出现了空白屏幕。
我从基于窗口的应用程序开始,并删除了nib文件,因为TTCatalog上的示例没有该文件。
我在这里做错了什么?
这是一些代码,在我的应用程序委托didFinishLaunchedWithOptions中,我具有:
TTNavigator* navigator = [TTNavigator navigator];
navigator.supportsShakeToReload = YES;
navigator.persistenceMode = TTNavigatorPersistenceModeAll;
TTURLMap* map = navigator.URLMap;
[map from:@"*" toViewController:[TTWebController class]];
if (TTIsPad()) {
[map from: @"tt://catalog"
toSharedViewController: [SplitViewController class]];
SplitViewController* controller =
(SplitViewController*)[[TTNavigator navigator] viewControllerForURL:@"tt://catalog"];
TTDASSERT([controller isKindOfClass:[SplitViewController class]]);
map = controller.rightNavigator.URLMap;
}
其他一切都与TTCatalog示例类似。
我只是想知道是否有人可以给我一个如何创建TTSplitViewController应用程序的指针,因为这很令人沮丧。 TTCatalog上的示例似乎很简单,但是复制它时,一切都会失败。
有关完整代码,可以下载here
最佳答案
如果使用xcode模板创建了项目,则意味着使用nib文件加载了应用程序委托。您将不得不更改它,因为Three20根本不使用nib文件。
打开main.m文件,然后更改:
int retVal = UIApplicationMain(argc, argv, nil, nil);
至
int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");
(将@“ AppDelegate”替换为UIApplicationDelegate类名称。这会将主窗口加载到设备中。
还要注意,TTSplitViewController类有点小问题。我必须在three20中修改一些代码,以使其正常工作。如果要尝试使用我的TTSplitViewController版本,请参见https://github.com/aporat/three20-splitview-example。
关于iphone - 带有拆分 View Controller 的空白窗口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6567183/