2012-09-20 6 views
0

Je crée des éléments de commande par programme, mais le sélecteur à la première pression du premier bouton n'est pas appelé. Je le code suivant dans mon viewDidLoad maintenant:UIBarButtonItem ne répond pas

[super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
    // self.navigationItem.leftBarButtonItem = self.editButtonItem; 


    _defaultBarColor = self.navigationController.navigationBar.tintColor; 
    [self loadPreferences]; 


    self.spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; 
    self.btnSpinner = [[UIBarButtonItem alloc] initWithCustomView:self.spinner]; 

    self.btnRefresh = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(refreshPressed:)]; 

    self.lblLastUpdate = [[UIBarButtonItem alloc] initWithTitle:@" " style:UIBarButtonItemStylePlain target:nil action:nil]; 
    [self.lblLastUpdate setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont boldSystemFontOfSize:13], UITextAttributeFont,nil] forState:UIControlStateNormal]; 

    self.flexibleSpace = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; 
     self.toolbarItems = [NSArray arrayWithObjects:self.btnRefresh,self.flexibleSpace,self.lblLastUpdate,self.flexibleSpace, nil]; 



    self.detailViewController = (DetailViewController *)[[self.splitViewController.viewControllers lastObject] topViewController]; 


    [self loadData]; 

Ce que j'ai trouvé à ce jour est que si je mets le sélecteur de l'étiquette (deuxième élément dans la barre d'outils) au sélecteur du premier élément, le premier sélecteur d'éléments est appelé.

Des idées?

Répondre

0

Vous attribuez le bouton à barres, mais vous n'avez pas défini d'image pour le composant barButton. Après l'attribution du cadre d'ensemble pour le barButton.

btnSpinner.frame=CGRectMake(10,10,70,40); 
+0

J'ai résolu le problème moi-même. C'était un problème étrange pour le moins qu'on puisse dire. J'ai trouvé que si le texte dans le deuxième élément était plus long, l'action pour le premier Barbutton n'était pas invoquée. Après avoir raccourci le texte, il a commencé à fonctionner correctement. Merci pour la contribution si. – userx