2011-07-04 13 views
2

Я следовал тому же точному коду, что и пример TTCatalog TTSplitViewController, начиная с кода делегата приложения, кода 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"); 

(Заменить @ "AppDelegate" с именем класса UIApplicationDelegate Это должно загрузить главное окно в устройство. .

Также обратите внимание на то, что класс TTSplitViewController немного неисправен. Мне пришлось изменить код в три раза, чтобы он работал так, как должно. См. https://github.com/aporat/three20-splitview-example i f вы хотите попробовать мою версию TTSplitViewController.

+0

хороший улов, я однако изменил его на @ "TestAppDelegate" и все еще видит пустой холст ... вы пытались загрузить мой проект? – adit

+0

Я загрузил последнюю версию, которая использует ваши измененные три20 и изменения выше по адресу http://dl.dropbox.com/u/19680269/TTSplitView_issue.zip. Он по-прежнему не работает ... – adit

+0

Ваше приложение по-прежнему пытается загрузить файл-файл для главного окна. откройте файл plist и попробуйте удалить строку файла нити MainWindow. он работает для меня – aporat

Смежные вопросы