J'essayais de faire une instanciation manuelle d'une vue et tout ce que je reçois est un écran noir.Instanciation manuelle d'une vue ... écran noir
Voici le cœur de mon FinishedLoading
currentController = new ChoicesScreen(this.window.Handle);
window.AddSubview (currentController.View);
window.MakeKeyAndVisible();
Note: CurrentController est un protected UIViewController currentController
ChoicesScreen est défini dans IB, a les points de vente appropriés, actions, etc., autrement dit son une vue valide.
J'ai essayé le constructeur par défaut pour ChoicesScreen et j'ai obtenu la même chose. Évidemment, il me manque quelque chose dans la façon d'obtenir mon propre écran.
question pour vous, pour chaque vue qui provoque une autre Vue sur être ajouté en haut, dois-je utiliser la fenêtre d'origine Handle et la fenêtre d'origine.AddSubView ou comment les empiler? –
Je ne sais pas si j'ai bien compris votre question, mais il vous suffit d'ajouter la vue de dessus à la fenêtre, une seule fois (généralement dans AppDelegate). Ensuite, vous pouvez ajouter autant de vues (et de contrôles, comme des boutons et des étiquettes) dans la première vue que vous avez créée, en utilisant la méthode AddSubview. –
Mais les vues ne possèdent pas de méthode AddSubView, n'est-ce pas? Donc, y a-t-il un moyen pour que n'importe quelle vue puisse accéder à l'objet window afin qu'ils puissent AddSubView d'une autre vue qui doit être présentée? Par exemple dans Main.cs nous avons AddSubview (firstView), l'utilisateur sur firstView appuie sur un bouton qui est d'afficher secondView, y at-il un moyen d'accéder à l'objet fenêtre pour faire window.AddSubview (secondView)? –