Проверьте строку состояния в iOS, скрытые с помощью регулятора модальное представление
Поэтому я использую шаблон "служебное приложение" в Xcode и у меня есть контроллер главного вида , где пользователь может скрыть и показать строку состояния с помощью кнопки. Я также получил - представление-контроллер обратная сторона, используя модальный переход, который имеет кнопку Готово, чтобы вернуться к Главная ВК. Я настроил его так, что при просмотре Flipside VC строка состояния всегда не скрыта. Это означает, что если пользователь скрывает строку состояния на Main VC и переходы к Flipside VC , он будет анимироваться, и если пользователь не скрыл строку состояния, и они переходят, ничего не происходит со строкой состояния.
Это все хорошо, Проблема в том, чтобы вернуться от Flipside VC К Main VC . Мне нужно условие для проверки скрытого состояния строки состояния в Main VC , которое вызывалось бы в Flipside VC при нажатии кнопки done.
Я также рассматривал возможность использования BOOL как NSNotificationCenter отправить сообщение на Flipside VC о состоянии строки состояния.
У меня был такой код:
-(BOOL)checkStatusBarHidden:(id)input
{
BOOL result;
if ([UIApplication sharedApplication].statusBarHidden = YES)
{
result = YES;
}
else
{
result = NO;
}
return result;
}
Но это все просто догадки и мысли, что я мог бы использовать его где-то, чтобы сообщить Flipside VC состояния строки состояния. Я подумал, может быть, изменить
[UIApplication sharedApplication].statusBarHidden = YES)
К чему-то вроде
self.statusBarHidden = YES //which of course isn't going to work
Но в любом случае, как я уже сказал, это предположение, и я не знаю, что делать.1 ответ:
Вы можете подумать о хранении информации о состоянии строки состояния в
MainViewController
, используя свойство, напримерВ вашем
MainViewController.h
@property (nonatomic, assign) BOOL statusBarHidden;
Тогда вы можете получить доступ к этому значению из
FlipsideViewController
, используя свойствоpresentingViewController
.В вашем
FlipsideViewController.h
MainViewController * mainVC = self.presentingViewController; if (mainVC.statusBarHidden) { // Do stuff }
В качестве заключительного замечания, пожалуйста измените ваш метод
checkStatusBarHidden:
на что-то вроде- (BOOL)checkStatusBarHidden { return [UIApplication sharedApplication].statusBarHidden; }