Как изменить цвет текста UIStatusBar во время пользовательского перехода в блоке анимации?
Клиент нажимает на название логотипа ("а"):
Существующее представление отталкивается новым представлением:
Затем, чтобы отменить это, клиент просто снова нажимает на логотип заголовка.
Проблема, с которой я сталкиваюсь, заключается в том, что мой текст в строке состояния остается черным, когда панель навигации и представление перемещаются вниз новым представлением.
Я попробовал несколько вещей во время анимации, и ничего не работает.
[container addSubview:move];
[UIView animateWithDuration:1 delay:0
usingSpringWithDamping:1 initialSpringVelocity:30
options:0 animations:^{
[move setFrame: [toVC isBeingPresented] ? endFrame : toBeginFrame];
[[[self navigationController] view] setFrame:CGRectMake(0, 350, 320, 640)];
self.navigationController.navigationBar.barStyle = UIBarStyleBlack; // [self preferredStatusBarStyle];
[self setNeedsStatusBarAppearanceUpdate];
}
completion:^(BOOL finished) {
[transitionContext completeTransition: YES];
}];
Не уверен, как с этим бороться. Черный текст не очень хорошо сочетается с серым фоном, поэтому мне нужно, чтобы текст стал белым, когда навигационная панель и вид сдвинуты вниз.
Был бы признателен за решение спасибо.
С уважением
1 ответ
В вашем контроллере вида "to", который с черным фоном, вы должны реализовать preferredStatusBarStyle
Это должно выглядеть так:
- (UIStatusBarStyle) preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
Это должно быть все, что вам нужно сделать. Когда контроллер представления представлен, этот метод будет вызываться автоматически и использоваться для перехода в новый стиль.