2010-01-12 4 views
0

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.

Répondre

1

Driss,

Vous devez définir le cadre de la nouvelle vue, de définir où il va montrer dans la vue:

currentController = new ChoicesScreen(this.window.Handle); 
currentController.View.Frame = new System.Drawing.RectangleF(0, 0, 320, 480); 
window.AddSubview (currentController.View); 
window.MakeKeyAndVisible(); 
+0

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? –

+0

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. –

+0

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)? –

Questions connexes