0

У меня здесь немного странный сценарий, и мы пытались найти какую-то помощь, но решения на самом деле не решают мою проблему, а ухудшают ее.Есть ли способ временно закрыть строку состояния iOS 7 с UIView?

У меня есть контейнер viewController, который имеет три представления дочерних контроллеров в горизонтальном прокрутке. Мое представление дочернего контроллера по умолчанию - это моя пользовательская страница камеры. Теперь это то, чего я хочу достичь. Я бы хотел, чтобы строка состояния была скрыта на моей странице камеры, но хотелось бы, чтобы другие два представления, кроме моих двух дочерних контроллеров, отображали строку состояния.

Когда я перетаскиваю из своего левого дочернего контроллера на страницу моей камеры или из моего правого дочернего контроллера на страницу моей камеры, мне бы хотелось, чтобы окно моей камеры перекрывало строку состояния.

Единственное место, которое я видел, это сделано на Snapchat, и я пытаюсь пару часов понять это, но просто не может найти решение. Любая помощь приветствуется.

+0

возможный дубликат [скрытие строки состояния IOS 7] (http://stackoverflow.com/questions/18971496/hiding-status-bar- ios-7) –

+0

@MichaelRobinson Нет, моя ситуация другая. Я знаю, как скрыть строку состояния от viewController, просто вызвав простой метод. Я перекрываю строку состояния со страницей VIEW камеры, так как у меня есть три дочерних вида viewController, которыми управляет один контейнер содержимого viewController. –

+0

Очень интересно. Запустите Snapchat на iPad - область, в которой строка состояния должна быть ошибкой при переходе. –

ответ

0

Вы можете сделать это в режиме реального бара. Просто получить Statusbars UIView затем нужно играть с UIWindowLevel как этот

//Getting the Statusbar 

    UIView *statusbar; 
    NSString *key = @"statusBar"; 
    id object = [UIApplication sharedApplication]; 
    if ([object respondsToSelector:NSSelectorFromString(key)]) { 
     statusbar = [object valueForKey:key]; 
    } 

    //Set your Overlapping UIViewController or UIView one Level higher then the Statusbar. 
    self.navigationController.view.window.windowLevel = UIWindowLevelStatusBar+1; //This will set the Overlapping UIViewControllers WindowLevel over the StatusBar. 
+0

Эй, вы начали хорошо, но не приложили код для изменения уровня окна, чтобы ответ был полным. Я не хочу писать для этого еще один ответ, пожалуйста, добавьте код уровня окна: D –

+0

@FahriAzimov Привет, я добавил код. Его очень прост в использовании. –