2009-09-11 7 views
1

J'ai TabBarView Controller, où je conserve quatre éléments de la barre d'onglets, laissez assis item1, item2, item3 et item 4. Lorsque vous cliquez sur item2 barre d'onglets, j'appelle un RootViewController où il a un contrôleur de navigation avec un TableView et montre les éléments de la ligne. Jusqu'à ici c'est bien. Lorsque vous cliquez sur un élément de ligne, vous devrez lancer un UIWebView pour afficher le contenu.iPhone-SDK: pushViewController ne pousse pas UIWebView?

J'ai fait du code comme ci-dessous pour ce processus.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

navigationController = [[UINavigationController alloc] init]; 
webViewController = [[WebViewController alloc] init]; 
[[self navigationController] pushViewController:webViewController animated:NO]; 
[webViewController release]; 

} 

Le problème est maintenant, en cliquant sur un élément de ligne ne pousse pas du tout le code UIWebView. J'ai testé le code UIWebView avec la méthode addSubView normale comme "[appDelegate.window addSubview: webViewController.view];" au lieu d'appeler via pushViewController. Il appelle UIWebView et affiche le contenu Web avec succès. Je comprends que le problème devrait appeler comme pushViewController: webViewController.

Quelqu'un peut-il me dire quelles sont les façons dont il ne devrait pas être travaillé dans ce cas et comment puis-je le corriger pour le faire fonctionner avec pushViewController lui-même? J'ai besoin d'appeler UIWebView en utilisant seulement pushViewController. Pour toutes ces combinaisons, existe-t-il une source d'échantillon disponible?

En attente de l'aide de quelqu'un.

merci.

Clave/

+0

'WebViewController' est-il une sous-classe' UIViewController'? A-t-il un fichier nib associé? – pgb

Répondre

2

Je pense que vous créez par erreur un nouveau contrôleur de navigation ici

 
navigationController = [[UINavigationController alloc] init]; 

supprimer cette ligne et utilisez

 
[self.navigationController pushViewController:webViewController animated:NO]; 

au lieu de référence ci-dessus. Cela devrait le faire :-)

+0

Merci pour la réponse. J'ai trouvé le problème à moi et j'ai déjà résolu ce problème, ce qui n'est rien d'autre, mais je n'ai pas défini ma classe de contrôleur en tant que "Navigation" dans I.B dans les propriétés Attributs du contrôleur de la barre d'onglets. –

Questions connexes