Comment masquer la barre d'état dans UIImagepickercontroller?
Je suis nouveau sur le développement d'iOS. Je suis en train d'essayer de masquer la barre d'état dans UIImagePickerController
. Chaque fois que je clique sur "Prendre une photo", la barre d'état s'affiche. Il ne s'en cache pas. Je veux de la barre d'état pour être caché que dans UIImagePickerController
.
Voici mon code,
- (IBAction)takePhoto:(UIButton *)sender
{
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = YES;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentViewController:picker animated:YES completion:NULL];
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[self statusBar:YES];
UIImage *chosenImage = info[UIImagePickerControllerEditedImage];
self.imageView.image = chosenImage;
[picker dismissViewControllerAnimated:YES completion:NULL];
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
[picker dismissViewControllerAnimated:YES completion:NULL];
}
-(void)statusBar:(BOOL)status
{
[[UIApplication sharedApplication] setStatusBarHidden:status];
}
Comment masquer la barre d'état sur UIImagePickerController
?
- essayez mon code en suivant les étapes que je l'ai mentionné, vous serez en mesure d'atteindre votre sortie.
- j'ai posté une solution sur les forums de dev comme iOS7 est encore sous NDA. devforums.apple.com/message/888587#888587
InformationsquelleAutor Shailendra Kr Gangwar | 2013-09-12
Vous devez vous connecter pour publier un commentaire.
J'ai eu un problème où dans iOS7 ma barre d'état n'était pas caché. Je l'ai caché par programme et il est encore affiché dans iOS7, mais quand couru dans iOS6, la barre d'état de masquer de façon appropriée. Vous devez aller à la plist et ajoutez les éléments suivants:
'- vue-contrôleur d'état basé sur l'apparence de la barre' et la valeur NO.
Si vous souhaitez que la barre d'état pour ré-apparaître dans d'autres contrôleurs de vue et ne peuvent être cachés sur un VC, puis vous définissez la barre d'état pour caché OUI lorsque le VC charges.
Lorsque le VC disparaîtra vous définissez la barre d'état caché ou PAS.
et lorsque le contrôleur disparaîtra vous ajoutez ce qui suit pour configurer la barre d'état, donc il n'est plus caché et l'affiche sur l'Affichage suivant:
setStatusBarHidden:withAnimation:
si vous souhaitez une animation fluideCela a bien fonctionné pour moi:
Edit: Comme d'aujourd'hui, je viens de constater que dans votre info.plist, si vous venez de copier-coller-vue-contrôleur d'état basé sur l'apparence de la barre de là, il ne marchera pas ... vous devez frapper entrer sur une propriété, et faites défiler jusqu'au dernier d'entre eux de sorte que vous aurez la saisie semi-automatique : - vue-contrôleur d'état basé sur l'apparence de la barre et un booléen, avec pas. J'ai essayé plusieurs fois mais ça ne fonctionne pas de la simple copie. Avoir une belle journée.
La solution que j'ai trouvé pour les applications construites autour de :
"- Vue-contrôleur d'état basé sur l'apparence de la barre de" la valeur OUI
J'ai fait ajouter une Catégorie:
La méthode childViewControllerForStatusBarHidden est rarement utilisé, mais l'image du sélecteur de faire de l'utiliser, c'est pourquoi peut entraîner certains troubles
Vous pouvez également mettre en œuvre UIViewController singleton, avec la méthode qui retourne OUI ou NON, basée sur sa propriété.
Ensuite, votre point de Vue controleller implémente childViewControllerForStatusBarHidden de retour ci-dessus singleton.
Changement de singleton propriété de modifier automatiquement la barre d'état dans l'app. Il y a aussi les jumeaux méthode childViewControllerForStatusBarStyle
Cependant, pour 2014, iOS8, voir ce https://stackoverflow.com/a/18960308/294884
sous-classe UIImagePickerController ... le mien est V1ImagePickerController ...
.m fichier ressemble à ceci:
la childViewControllerForStatusBarHidden est la clé!
Si vous souhaitez désactiver la barre d'état de plist, essayez ceci:
cela est nécessaire pour iOS 7, fonctionne pour moi. Je ne sais pas si il y en a d'autres techniques pour faire cela dans iOS7. Ensemble ces deux balises dans vos infos.plist.
À chaque fois que votre viewcontroller apparaît, dans le viewDidLoad ou lorsque l'image du contrôleur de sélecteur de finitions , utilisez ceci:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
- (void)imagePickerControllerDidCancel:(UIImagePickerController*)picker {
ainsi! Dans le cas où l'utilisateur clique sur "annuler" et ne pioche pas de photo!J'ai utilisé Silvertaurus la réponse ci-dessus, mais avec un peu de modification à la
prefersStatusBarHidden
méthode que j'ai trouvé très utile:Ce qui maintient la barre d'état pour le sélecteur d'images lorsque l'appareil photo n'est pas affichée.
Essayer cette
Également vérifier ce discussion.
S'il vous plaît essayer cette.
• Définition d'un délégué pour la
UIImagePickerController
• masquer la barre d'état dans la délégué
navigationController:didShowViewController:animation: fonction.
E. G:
Vous pouvez le faire avec une catégorie:
Source: https://gist.github.com/psobko/9493473
qui peuvent vous aider à atteindre ce que vous voulez.
Essayer ma réponse posté ici si vous souhaitez continuer à utiliser
ViewController-Based Status Bar Appearance
.Dans mon cas, j'ai eu à utiliser presentViewController pour montrer UIImagePickerViewController (iOS7).
1 - Vue d'Ensemble du contrôleur d'état basé sur l'apparence de la barre à PAS dans .plist
2 - Créer une catégorie pour les UIImagePickerController et dans viewDidLayoutSubviews:
3 - Ajout des deux méthodes suivantes pour la catégorie:
J'espère que cela aidera.
je pense que j'ai résolu ce problème d'une manière assez simple sans sous-classement et à l'aide de plist.
il ne les cache pour UIImagePickerController.
cet exemple est pour amener la photo gallary seulement, mais j'imagine que vous pouvez l'appliquer de la même manière partout avec dans uiimagepickercontroller
Je voulais avoir la barre d'état caché tout le temps, d'ouvrir le sélecteur d'images qu'il montre. Cacher de nouveau la suite travaillé pour moi, comme d'iOS 8:
J'ai
View controller-based status bar appearance
ensemble deNO