我遵循了与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/

10-09 16:15