1

Кажется, что одним из аспектов программного обеспечения iOS является диагностика этих странных, кажущихся тривиальными, но, как ни странно, непонятных проблем с.Странный вид строки состояния после обновления до ECSlidingViewController 2

Итак, сегодня я был счастлив вояк в своем недавнем проекте iOS, и я решил обновить свой проект до последней версии ECSlidingViewController, какой вред он мог бы сделать правильно? Просто обновите несколько устаревших методов, и все.

Так что я сделал все это. Все работает прекрасно, красиво. Однако я заметил, что строка состояния ведет себя странно! Он не появляется, когда я показываю один из моих underLeftViewController, и он находится в странном оттенке, когда я нажимаю то, что конкретно underLeftViewController в один из его последующих VC. Какие?? Как это могло произойти? Во всяком случае, картинка стоит тысячи слов:

Так вот оно действует хорошо и нормально: enter image description here

Теперь он исчезает !!!: enter image description here

Теперь он имеет странное оттенок !!!: enter image description here

А вот картина приложения с Slidin g view controller slided out: enter image description here

Я, должно быть, сделал что-то сумасшедшее в моем баре статуса где-то, тогда я подумал.

Итак, я посмотрел в свой файл реализации для VC, где statusbar действует сумасшедшим. Это фактически подкласс UINavigationController, а его viewDidLoad пуст, за исключением линии [super viewDidLoad]. Так что ничего подозрительного здесь нет.

Страница run test на самом деле rootViewController для navVC, поэтому я заглянул в нее. Я положил все мои представления кода настройки в своем viewDidLoad, и это то, что он выглядит следующим образом:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    // remove advanced button 
    self.navigationItem.rightBarButtonItem = nil; 

    self.navigationController.view.layer.shadowOffset = CGSizeMake(1, 0); 

    // setupGaugeView 
    [self setupGauge]; 

    // add run test button 
    [self setupRunTestButton]; 

    // setup notification container 
    CGRect notificationContainerFrame; 
    if ([WRGlobalHelper currentDeviceVersion] >= 7) { 
     CGFloat statusBarHeight = [WRGlobalHelper statusBarHeight]; 
     notificationContainerFrame = CGRectMake(0, [[self.navigationController navigationBar] bounds].size.height+statusBarHeight, self.view.bounds.size.width, 1); 
     for (UIView *subview in self.view.subviews) { 
      CGRect newFrame = subview.frame; 
      newFrame.origin.y += [WRGlobalHelper statusBarHeight]; 
      subview.frame = newFrame; 
     } 
    } else { 
     notificationContainerFrame = CGRectMake(0, [[self.navigationController navigationBar] bounds].size.height, self.view.bounds.size.width, 1); 
    } 
    self.notificationContainerView = [[UIView alloc] initWithFrame:notificationContainerFrame]; 
    self.notificationContainerView.clipsToBounds = NO; 
    self.notificationContainerView.layer.backgroundColor = [UIColor clearColor].CGColor; 
    [self.view addSubview:self.notificationContainerView]; 

    // some other unrelated stuff omitted.... 
} 

, а `viewDidLoad годов для VCs, где строка состояния действуют нормально или странно, но с оттенком все это совершенно ясно, также, они выглядят как

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 

    [self.view addGestureRecognizer:self.slidingViewController.panGesture]; 
} 

Ум, разумеется, и я сдаюсь на этом этапе. Я потратил почти 2 часа на этот единственный вопрос, и мой мозг болит при мысли об исчезновении строки состояния. Всемогущий и всезнающий, пожалуйста, помогите мне! Большое спасибо!

ответ

0

Строка состояния не исчезает, текст просто меняет свой цвет на основе назначенного им стиля.
Это answer поможет

+0

Как насчет странного оттенка? Кажется, что сам бар меняет цвет? Я попробую решение в этом ответе и дам вам знать. – Enzo

+0

Я предполагаю, что это просто эффект строки состояния на цвет фона основного контроллера представления. – Andrea

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

  • Нет связанных вопросов^_^