Question

J'ai vue qui contient une ScrollView. Lorsque la vue montre l'image apparaît en plein écran (320x480) cacher la barre d'état et la navigation. Quand je tape les écrans - le statut et la barre de navigation apparaît à l'écran. Mais cette chose se déplace le UIScrollView en dessous du la barre de navigation. Je veux que le statut et la barre de navigation pour afficher sur mon point de vue de défilement.

Comme il arrive dans l'application de photos. En tapant sur l'image de la barre d'état et nav montre sur le ScrollView.

Ci-dessous est la façon dont je suis le positionnement de la vue


//What I have done in viewDidLoad
[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO];
self.wantsFullScreenLayout = YES;
scrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
self.view = scrollView;

Voici ce que je fais sur la détection d'un seul robinet


- (void)tapDetectingImageView:(TapDetectingImageView *)view             gotSingleTapAtPoint:(CGPoint)tapPoint {
    // single tap hide/unhide the status and nav bar
    NSLog(@"got a single tap");
    if (self.navigationController.navigationBarHidden == NO)
    {

        [self.navigationController setNavigationBarHidden:YES animated:NO];
        [[UIApplication sharedApplication] setStatusBarHidden:YES animated:YES];
    }
    else
    {
        [[UIApplication sharedApplication] setStatusBarHidden:NO animated:YES];
        [self.navigationController setNavigationBarHidden:NO animated:NO];
    }
}

Juste un pointeur pour vous les gars - Si j'utilise

[self.view addSubview:scrollView];
Je ne vois pas ce problème. Mais ce gâchis mon code d'orientation paysage.

Toute personne qui peut éclairer ce que je pourrais faire mal - serait une grande aide

Était-ce utile?

La solution 2

Je me suis trouvé la solution. Dans d'autre fn de mon robinet code de détection d'ajouter la ligne suivante dans le dernier.

scrollView.contentOffset = CGPointMake(parentScrollView.contentOffset.x,0);

Je ne sais pas si cela est la bonne approche. Mais si quelqu'un peut suggérer une meilleure approche - plus que bienvenue

Autres conseils

Il semble y avoir une manipulation spéciale à l'intérieur UIScrollView lorsque les barres d'outils de navigation sont basculées. Comme vous l'avez dit à la fin de votre question, si vous mettez la vue de défilement dans un contenant UIView, ce problème de repositionnement ne se produit pas.

Pour résoudre les problèmes de paysage, assurez-vous que vous configurez la autoresizingMask tant sur le point de vue du récipient et la vue de défilement. Je ne devais pas ajouter une manipulation supplémentaire pour le mode paysage dans mon projet.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top