2011-07-04 26 views
2

我遵循与TTSplitViewController的TTCatalog示例相同的确切代码,从应用程序委托代码,TTSplitViewController代码以及TTTableViewController的代码开始。但是,当我运行应用程序时,我得到一个空白屏幕。带TTSplitViewController的空白窗口

我从基于窗口的应用程序启动并删除了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

回答

1

如果您创建使用Xcode的模板的项目,这意味着你的应用程序委托使用笔尖文件加载。你将不得不改变它,因为Three20根本不使用nib文件。

打开main.m文件,并更改:

int retVal = UIApplicationMain(argc, argv, nil, nil); 

int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate"); 

(与UIApplicationDelegate类的名称替换@ “的AppDelegate” 那应该你的主窗口加载到设备中。

另请注意,TTSplitViewController类是一个小错误,我不得不修改一些代码,使其工作正常,参见https://github.com/aporat/three20-splitview-example如果你想尝试我的版本的TTSplitViewController。

+0

不错,但是我把它改成@“TestAppDelegate”,仍然看到一个空白的画布......你尝试下载我的项目吗? – adit

+0

我上传了一个最新版本,它使用了您的修改过的three20以及http://dl.dropbox.com/u/19680269/TTSplitView_issue.zip上的更改。它仍然不起作用... – adit

+0

您的应用程序仍然尝试为主窗口加载nib文件。打开你的plist文件并尝试删除MainWindow nib文件行。它适用于我 – aporat