Je suis en train de mettre en œuvre un contrôleur de navigation modale tel que décrit dans le Guide d'Apple iOs: Combined View Controller InterfacesUIViewController ne répondant pas à presentModalViewController pour la navigation modale
Je suis venu à la conclusion que je manque quelque chose à la fois évidente et stupide que je Je n'arrive pas à afficher quoi que ce soit, je reçois un écran blanc. Permutation de choses Je peux prouver que le contrôleur de vue que j'utilise comme contrôleur de navigation RootViewController fonctionne correctement (en l'ajoutant manuellement en tant que vue subChild). En outre, l'implémentation de addSubView ([self.view addSubview: navController.view]) au lieu de presentModalViewController semble fonctionner correctement.
Quelqu'un peut-il me signaler mon simple erreur parce que je suis à 5 minutes à court de coups de pied mon propre visage: D
tête
#import <UIKit/UIKit.h>
@interface BaseViewController : UIViewController {
}
mise en œuvre
#import "BaseViewController.h"
#import "ScannedListViewController.h"
#import "ScannedItemViewController.h"
@implementation BaseViewController
- (void)viewDidLoad {
ScannedListViewController *listViewController = [[ScannedListViewController alloc] init];
ScannedItemViewController *itemViewController = [[ScannedItemViewController alloc] init];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:listViewController];
[navController pushViewController:itemViewController animated:NO];
[self presentModalViewController:navController animated:YES];
[listViewController release];
[itemViewController release];
[navController release];
[super viewDidLoad];
}
Le RootControllerView est un test de base TableViewController avec l'en-tête suivant
@interface ScannedListViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource>
Nous vous remercions à l'avance si votre mesure d'aider
Hmm .. Eh bien, le résultat souhaité est de charger l'application, afficher une vue pendant 5 secondes, puis passer à la partie principale de l'application qui est un formulaire de trois pages contrôlé par un navigationController. Peut-être ai-je été induit en erreur quant à l'approche que je devrais prendre. Le second contrôleur de vue activé est directement issu de l'exemple d'Apple. J'ai supposé que je construisais une pile de vue, car je n'ai pas pu voir les résultats que je n'avais pas réalisé ce n'était pas la meilleure pratique! – lucygenik
Si vous avez l'intention d'afficher une vue pendant 5 secondes, puis que vous affichez une autre vue de manière modale, vous ne l'obtiendrez pas en le faisant dans 'viewDidLoad'. Vous devrez utiliser un 'NSTimer' et définir son rappel à une méthode qui pousse la vue modale. –
Merci Shaggy, ça a fonctionné parfaitement. Je dois travailler sur ma compréhension des cycles de vie des vues! – lucygenik