Изменение UIWindow приводит к тому, что SVProgressHUD не отображается

У меня есть 2 UIWindows, которые я использую в своем приложении. В AppDelegate в методе didFinishLaunchingWithOptions: у меня просто есть:

        self.windowStartup = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
        self.windowSplit =  [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

Затем я настроил self.windowSplit как splitViewController и windowStartup с xib в качестве его rootViewController. Если я загружаю windowSplit из didFinishLaunchingWithOptions:, то SVProgressHUD работает отлично, однако, если я загружаю windowStartup в didFinishLaunchingWithOptions:, то вызываю:

    [self.windowSplit makeKeyAndVisible];

позже SVProgressHUD не будет работать. Все остальное работает как положено. Я хочу заставить SVProgressHUD работать для второго сценария, а также выяснить, делаю ли я что-то неправильно, что может повлиять на что-то еще.

Еще немного информации: причина, по которой я использую этот подход, заключается в том, что я хочу использовать стандартный контроллер разделенного представления, однако я хочу сначала загрузить представление запуска, чтобы оно не появлялось поверх разделенного представления на iPad. После того, как пользователь все настроил, он может решить, хочет ли он, чтобы начальный вид отображался изначально.

Заранее благодарю за любую помощь!


Изменить: вот мой код для запуска:

   Startup *controller = [[Startup alloc] initWithNibName:@"Startup" bundle:nil];
    self.windowStartup.rootViewController = controller;
    [self.windowStartup makeKeyAndVisible];

person Shane Rayner    schedule 26.03.2014    source источник
comment
что произойдет, если вы сделаете windowSplit корневым окном приложения и поместите windowStartup поверх него.   -  person nsuinteger    schedule 26.03.2014
comment
Спасибо @nsuinteger - я немного пошел по этому пути и обнаружил, что если когда-либо отображается windowStartup, то SVProgressHUD не будет работать. Итак, я не могу запустить SVProgressHUD при запуске окна, независимо от того, загружаю ли я его первым или вторым. И SVProgressHUD будет работать только с splitView, если я загружу его первым. Так что я явно делаю что-то не так с запуском. Я отредактирую вопрос с моим кодом для запуска   -  person Shane Rayner    schedule 26.03.2014


Ответы (1)


Это была простая проблема с именами. У меня были проблемы с SVProgressHUD и ShareKit. Оба искали

    .window 

свойство моего appDelegate. Я вернулся к стандарту

    UIWindow *window 

и он снова работает нормально.

person Shane Rayner    schedule 01.04.2014