2011-08-05 4 views
0

Je veux faire un uiwebview en plein écran sur l'utilisateur robinet unique?Comment dessiner une barre de navigation et une barre d'outils sur une vue dans l'iPhone?

J'ai donc eu l'idée de fixer la hauteur de cette uiwebview et d'insérer des espaces vides en haut et en bas du contenu. Ainsi, lorsque l'onglet utilisateur, la barre de navigation et la barre d'outils sont masquées de manière animée.

Mais le problème est que je ne suis pas en mesure de fixer la hauteur de cette uiwebview et lorsque l'utilisateur appuie dessus, les barres sont masquées mais l'uiwebview se déplace vers la vue en demi-écran. Alors, dites-moi comment régler la taille d'UIwebview afin que la barre de navigation et la barre d'outils soient dessinées au-dessus.

fournissez-moi un échantillon de code.

Répondre

1

Essayez cette webView.autoResizingMask = UIViewAutoresizingFlexibleHeight;

0

Qu'est-ce qu'une valeur UIAutoresingMask dans webView? Par défaut (dans Interface Builder) c'est le mode complet. Essayez de le changer.

0

J'ai le même type de fonctionnalité. Si un utilisateur glisse avec 3 doigts vers le bas, la barre d'outils est animée hors écran et une vue Web est animée pour remplir l'écran.

mon code:

static BOOL toolbarHidden = NO; 

- (void)increaseScreensizeGestureDone 
{ 
    // toolbar animation 
    [UIView beginAnimations:@"toolbar" context:nil]; 

    if (toolbarHidden) 
    { 
     toolbar.frame = CGRectOffset(toolbar.frame, 0, +toolbar.frame.size.height); 
     toolbar.alpha = 1; 
     toolbarHidden = NO; 

     webView.frame = CGRectMake(0, 
            webView.frame.origin.y + toolbar.frame.size.height, 
            webView.frame.size.width, 
            webView.frame.size.height - toolbar.frame.size.height); 
    } 
    else 
    { 
     toolbar.frame = CGRectOffset(toolbar.frame, 0, -toolbar.frame.size.height); 
     toolbar.alpha = 0; 
     toolbarHidden = YES; 

     webView.frame = CGRectMake(0, 
            webView.frame.origin.y - toolbar.frame.size.height, 
            webView.frame.size.width, 
            webView.frame.size.height + toolbar.frame.size.height); 
    } 

    [UIView commitAnimations]; 
} 

J'espère que mon code aide.

EDIT:

Mon premier code était un « CGRectOffset » au WebView aussi, mais je ne pouvais pas obtenir le résultat recherché.

+0

Mais je me cache la barre de navigation et des barres outil à la fois. –

+0

Lors de l'implémentation de mon code, vous pouvez facilement ajouter d'autres composants de vue. Comme vous pouvez le voir, j'ai déjà 2 composants qui s'animent en même temps. ajouter: self.navigationController.navigationBar.frame (comme ci-dessus avec la barre d'outils) – Justin

0
(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    if(fullWebView){ 
    [self.navigationController hidesNavBarWhenPushed]; 
    fullWebView=FALSE; 
    self.navigationController.navigationBar.hidden=TRUE; 
    } 
    else { 
    [self.navigationController hidesBottomBarWhenPushed]; 
    fullWebView=TRUE; self.navigationController.navigationBar.hidden=FALSE; 
    } 
} 

(BOOL)hidesNavBarWhenPushed { 
    return (fullWebView?TRUE:FALSE) 
} 

// vous pouvez définir la taille de UIWebView fondée sur la condition

+0

Lisez d'abord complètement la question. –

Questions connexes