¿Es posible desactivar el Centro de control en iOS 7 mediante progtwigción y, de no ser así, cuáles son las alternativas?

Desarrollé una aplicación que usa el gesto deslizar desde abajo hacia arriba. Funcionaba perfectamente en iOS 6, pero ahora salió iOS 7, y funciona tal vez 1 de cada 25 veces: obtengo el Centro de control de iOS 7 casi todo el tiempo. Obviamente, Control Center se puede desactivar en la Configuración, pero eso depende del propietario del teléfono, y no puedo controlarlo. Así que mi pregunta es, ¿hay alguna manera de deshabilitar el Centro de control para el momento en que mi aplicación se está ejecutando (o más probablemente, está “activa”, ya que me gustaría recuperar el Control Center si el usuario no está utilizando activamente mi aplicación). si no, cuales son las alternativas? ¿Es la reubicación / reelaboración de esa funcionalidad la única solución?

Sin alternativas, realmente. Lo mejor que puede hacer es advertir a los usuarios y pedirles que accedan a la configuración para desactivarla.

De forma realista, perderá muchos usuarios simplemente al preguntar eso, por lo que debe cambiar los gestos.

En realidad hay una opción. No puedes deshabilitarlo Pero puedes evitar el lanzamiento accidental. Simplemente desactive la barra de estado. Luego, al deslizar, se le preguntará al usuario si el centro de control debe ser lanzado o no. no se lanzará en un solo golpe. En cambio, aparece una flecha en el primer deslizamiento y el usuario debe hacer clic y arrastrar la flecha para abrir el centro de control, por lo tanto, evitar el lanzamiento accidental. Use este código para deshabilitar la barra de estado.

Puede deshabilitar la barra de estado usando este delegado en IOS7:

- (BOOL) prefersStatusBarHidden { return YES; } 

Y este método en IOS6.1 y anteriores:

 [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide]; 

Comenzando con iOS 11 SDK (comstackdo en Xcode 9) además de implementar prefersStatusBarHidden :

C objective:

 - (BOOL) prefersStatusBarHidden { return YES; } 

Swift 4+:

 override var prefersStatusBarHidden: Bool { return true } 

también necesita implementar preferredScreenEdgesDeferringSystemGestures :

C objective:

 - (UIRectEdge)preferredScreenEdgesDeferringSystemGestures{ return UIRectEdgeAll; }; 

Swift 4+:

 override func preferredScreenEdgesDeferringSystemGestures() -> UIRectEdge { return .all } 

De lo contrario, el Centro de control / notificación aparece directamente; en lugar de mostrar primero el cuadro gris con una flecha hacia arriba o hacia abajo que debe arrastrarse hacia arriba o hacia abajo.

Intereting Posts