how - uiimagepickercontrollerdelegate swift 4
UIImagePickerController en la barra de estado de iOS 7 (5)
En io7, la barra de estado en la parte superior de una vista es una pesadilla. Afortunadamente logré que funcione, por lo que se colocará sobre la vista. Lo hice así:
- (void)viewDidLoad
{
[super viewDidLoad];
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
self.view.backgroundColor=[UIColor colorWithRed:(152/255.0) green:(204/255.0) blue:(51/255.0) alpha:1] ;
CGRect frame = self.topNav.frame; frame.origin.y = 20;
self.topNav.frame = frame;
}
....
}
Ahora mi barra de estado está sobre mi barra de navegación.
Pero cuando se trata de llamar a UIImagePickerController
cosas son diferentes. El código anterior no tiene ningún efecto. Traté de hacer esto:
- (void)showImagePickerForSourceType:(UIImagePickerControllerSourceType)sourceType
{
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
CGRect frame = self.imagePickerController.frame; frame.origin.y = 20;
self.imagePickerController.frame = frame;
}
imagePickerController.modalPresentationStyle = UIModalPresentationCurrentContext;
imagePickerController.sourceType = sourceType;
imagePickerController.delegate = self;
self.imagePickerController = imagePickerController;
self.imagePickerController.allowsEditing=YES;
....
}
y el resultado es:
¿Hay alguna posibilidad de que mi barra de estado (cuando se muestra la cámara para tomar fotos) sobre los controles de la cámara?
Gracias.
Tengo el mismo problema ... y soluciono mi problema ... Agregue la clave en el archivo .plist
''View controller-based status bar appearance'' and set to NO.
Y agrega en appDelegate.
[application setStatusBarHidden:NO];
[application setStatusBarStyle:UIStatusBarStyleDefault];
Nota: - cambie **setStatusBarStyle**
acuerdo con el color de fondo de su aplicación
Este es un error en iOS 7.0 y está corregido en iOS 7.1
Establezca la apariencia de la barra de estado basada en el controlador de View ''y establezca NO.
Y agrega en appDelegate.
[aplicación setStatusBarHidden: NO]; [aplicación setStatusBarStyle: UIStatusBarStyleDefault];
prueba esto
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
[[UIApplication sharedApplication] setStatusBarHidden:YES];
}
En el archivo Info.plist de la aplicación, agregue:
"View controller-based status bar appearance" == NO
En el archivo appdelegae.m, agregue el siguiente código en
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[application setStatusBarHidden:NO];
[application setStatusBarStyle:UIStatusBarStyleBlackTranslucent];
}