24 votos

¿Cómo se puede desactivar el iOS Centro de Notificaciones dentro de la Aplicación?

Si usted tiene una pantalla completa de la aplicación de iOS y desea evitar que el centro de notificaciones de ser derribado, se puede y cómo?

También puede bloquear las alertas de notificación o banners de visualización mientras la aplicación se está cargando? (Creo que este es un camino seguro, pero quería preguntar por si acaso.)

19voto

Matt Wilding Puntos 12931

Mi experiencia ha sido que las apps a pantalla completa (statusBarHidden = YES) tienen una ligeramente diferente en el centro de notificaciones comportamiento por defecto: Deslizar hacia abajo sobre la zona anteriormente ocupada por la barra de estado mostrará solo un poco de ficha. Sólo deslizar el dedo hacia la ficha, a continuación, mostrar el centro de notificaciones. Esto ha sido suficiente para evitar la activación accidental para mí hasta ahora.

Actualmente, no hay ninguna API pública para manipular el comportamiento del centro de notificaciones. Yo soy de la opinión de que no es probable que una aplicación va a nunca ser capaz de bloquear una notificación de la apariencia, y sólo un poco menos raro que una aplicación capaz de evitar que el centro de notificaciones desde que aparecen. iOS es todo acerca de una experiencia de usuario consistente experiencia en el precio de desarrollador de la libertad. Podía ver la frustración por este tipo de funcionalidad si yo fuera un unexpecting usuario.

Todo lo que dijo, no es siempre el oscuro lado de indocumentados Api. No me sorprendería si usted podría quitar algo de inteligencia el uso de esos en un dispositivo con jailbreak, pero ese no es mi taza-o'-té.

5voto

Ben Johnson Puntos 49

Yo justo ahora di cuenta de esto. Estoy desarrollando un juego que se ejecuta en el paisaje y cuando me tocó el lado izquierdo, en el centro de notificaciones ficha aparecería. Para solucionar esto, usted desea agregar la siguiente:

setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft

He añadido esto justo después de que yo setStatusBarHidden y ya no tengo el problema de la ficha de notificación.

Espero que ayude.

-21voto

mike Puntos 5

He construido una muy simple fragmento de código para abordar este problema mediante programación. Tengo un timer set-up en mi aplicación delegado que se ejecuta cada .2 segundos cada vez que se ejecuta se sigue moviendo la barra de estado de la orientación por lo que no afecta el juego. No he experimentado la molesto centro de notificaciones en mi aplicación ya! El único problema es el control de volumen gira constantemente y puede ser molesto, pero es menos molesto que el centro de notificaciones

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;

    }
}

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X