2010-08-18 10 views
0

Le code ci-dessous génère un bouton et le place sur l'écran;Pourquoi mes boutons générés par programme ne se fixent PAS à la vue actuelle?

bouton

= [UIButton permettre] initWithFrame: CGRectMake (0,0, 0,0, 20,0, 20,0)]; button.frame = CGRectMake (0.0, 20.0, 10.0, 40.0); button.backgroundColor = [UIColor redColor]; [self.window addSubview: bouton];

Cependant, quand je produis un nouvel écran via « pushViewController: animation » pour chevaucher l'écran actuel, les boutons flottent sur le nouvel écran. Mais tout le reste lié à l'ancien écran via le constructeur de l'interface disparaît la bonne façon derrière le nouvel écran.

Alors, qu'est-ce que je fais de mal?

Merci,

Répondre

2

Vous voulez ajouter le bouton à la vue actuelle, pas la fenêtre sous-jacente. Vous devriez créer le bouton dans loadView du UIViewController actuellement visible. Essayez de l'ajouter à la vue de ce contrôleur comme ceci:

[self.view addSubview:button]; 
+0

Toutes les tentatives pour cela ont échoué. C'est la première chose que j'ai essayé. Dans l'interface, le bouton est intitulé un bouton UIButton * et dans le bouton IBOutlet *. Cela pourraît-il poser problème? En outre, ceci est sur la deuxième vue d'une vue renversée. Alors peut-être que cela porte à confusion? Merci – nepfable

+0

Je comprends ce que vous voulez dire en insérant dans loadView. Cependant, le bouton est attaché à un IBAction pour créer le bouton et il semble se connecter uniquement à la fenêtre et non à la vue. Je continue d'obtenir l'erreur - La demande de vue de membre n'est pas une structure ou un membre. D'autres idées seraient bienvenues. Merci – nepfable

+0

Pouvez-vous fournir le code complet dans votre question? Cela aidera beaucoup. –