2010-11-05 5 views
0

je le code suivant:UIBarButtonItem ne se présente pas

@interface PartyListViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource> { 

    UIBarButtonItem * toggle; 

    //ProfileViewController *profileViewController; 
} 

@property(nonatomic, retain) IBOutlet UIBarButtonItem *toggle; 


- (IBAction)toggleAction:(id)sender; // when the toggle button is clicked 

@end 

Mon constructeur d'interface ressemble à ceci:

alt text

J'ai ajouté:

self.navigationItem.rightBarButtonItem = self.toggle; 

alt text

dans mon viewDidLoad, pourquoi le bouton n'apparaît pas? Si je crée mon bouton via le code, il est là ...

+0

Vous avez oublié de sauvegarder le fichier IB? : D – tia

Répondre

1

Vérifiez que votre bouton bascule n'est pas nul lorsqu'il est assigné à la propriété rightBarButtonItem!

+0

vous avez raison, c'est nul, mais cela n'a pas de sens, c'est nul comme vous pouvez le voir sur le IB ci-dessus ... l'ai eu là ........... – aherlambang

+0

Vous devez connecter l'IBOutlet de votre classe avec l'objet dans l'Interface Builder. – brutella

+0

n'ai-je pas fait cela dans la photo ci-dessus? – aherlambang

0

Je crée toujours mon barButtonItem via le code ....

Je suis très curieux de savoir pourquoi vous ajoutez IBOutlet à la fois lieu. Généralement, je vais ajouter ce mot-clé à l'endroit où je déclare la propriété.

+0

oh oui ... celui-là, j'ai changé ça ... encore – aherlambang

0

Je déclare comme un tableviewcontroller et il devrait être un viewcontroller

0

avez-vous

@synthesize toggle; 

s'appelle dans votre mise en œuvre? Si vous ne synthétisez pas l'objet, il ne créera pas de getters et de setters pour vous, c'est peut-être pourquoi la définition de rightBarButtonItem ne fonctionne pas, car il n'y a pas de getter pour le paramètre barButtonItem, donc vous le réglez sur

Questions connexes