Как отключить Центр уведомлений iOS в приложении?
Если у вас есть полноэкранное приложение iOS, и вы хотите, чтобы центр уведомлений не был снят, можете ли вы и как?
также вы можете блокировать уведомления или баннеры от отображения во время загрузки приложения? (Я думаю, что это не так, но хотел спросить на всякий случай.)
3 ответов
Это был мой опыт, что полноэкранные приложения (statusBarHidden = YES
) имеют немного другое поведение центра уведомлений по умолчанию: прокрутка вниз по области, ранее занятой в строке состояния, покажет только небольшую вкладку. Только проводя по вкладке будет отображаться Центр уведомлений. Этого было достаточно, чтобы предотвратить случайную активацию для меня до сих пор.
В настоящее время нет открытого API для управления поведением центра уведомлений. Я считаю, что это маловероятно, что приложение будет когда-нибудь быть в состоянии заблокировать внешний вид уведомления, и только немного менее маловероятно, что приложение будет в состоянии предотвратить Центр уведомлений от появления. iOS - это последовательный пользовательский опыт по цене свободы разработчика. Я мог видеть, что разочарован такой функциональностью, если бы я был неожиданным пользователем.
все, что сказано, всегда есть темная сторона недокументированных APIs. Я не удивлюсь, если вы могли бы проявить некоторую сообразительность, используя их на взломанном устройстве, но это не моя чашка чая.
Я только что понял это. Я разрабатываю игру, которая работает в ландшафте, и всякий раз, когда я коснулся левой стороны, появится вкладка центра уведомлений. Чтобы исправить это, вы хотите добавить следующее:
setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft
Я добавил Это сразу после того, как я setStatusBarHidden, и у меня больше нет проблемы с вкладкой уведомлений.
надеюсь, что это поможет.
Я построил очень простой фрагмент кода для решения этой проблемы программно. У меня есть таймер в делегате приложения, который работает каждый .2 секунды каждый раз, когда он запускается, он продолжает перемещать ориентацию строки состояния, чтобы она не влияла на игру. С тех пор я не испытывал раздражающий Центр уведомлений в своем приложении! Единственная проблема-регулятор громкости постоянно вращается и может раздражать, но это менее раздражает, чем центр уведомлений
int tick=0;
-(void)toggleNC
{
[[UIApplication sharedApplication] setStatusBarHidden:YES];
tick++;
if (tick==1)
{
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft];
}
if (tick==2){
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight];
}
if (tick==3){
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];
}
if (tick==4){
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortraitUpsideDown];
tick=0;
}
}