пустое окно с TTSplitViewController - PullRequest
2 голосов
/ 04 июля 2011

Я следовал тому же точному коду, что и пример TTCatalog TTSplitViewController, начиная с кода делегата приложения, кода 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 кажется таким простым, но при его репликации все заканчивается неудачей.

Полный код можно скачать здесь

1 Ответ

1 голос
/ 04 июля 2011

Если вы создали проект с использованием шаблона xcode, это означает, что ваш делегат приложения загружается с использованием файла пера. Вам придется изменить его, потому что Three20 вообще не использует файлы пера.

откройте файл main.m и измените:

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

до

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

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

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

...