Question

J'ai cherché autour d'un cernées comment ajouter un élément de UISegmentedControl à la barre de boutons de navigation item (à droite bouton bar). Il fonctionne très bien dans le simulateur, mais quand je l'essayer sur l'appareil, seul le premier élément de la montre de contrôle segmentés. Elle occupe toute la longueur (à savoir il n'y a qu'un seul segment à travers la chose).

- (void) setupSegmentedControl {
//set up the segmented control and add it to the nav bar rightBartButtonItem
UISegmentedControl * segmentControl = [[UISegmentedControl alloc] initWithItems:[NSArray         arrayWithObjects:[UIImage imageNamed:@"Settings.png"],[UIImage imageNamed:@"Map-Icon.png"],[UIImage imageNamed:@"Search.png"], nil]];
UIBarButtonItem * segmentControlButton = [[UIBarButtonItem alloc] initWithCustomView:segmentControl];
[segmentControl setBackgroundColor:[UIColor clearColor]];
segmentControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentControl.frame = CGRectMake(0, 0, 75, 30);
[segmentControl setMomentary:YES];
[segmentControl addTarget:self
                   action:@selector(segmentedControlAction:)
         forControlEvents:UIControlEventValueChanged];
self.navigationItem.rightBarButtonItem = segmentControlButton;
[segmentControl release];

}

Toutes les idées qui vont mal?

Était-ce utile?

La solution

Assurez-vous que les noms de fichiers d'image correspondent exactement aux noms de ressources dans votre projet, y compris les lettres majuscules / minuscules.

Le dispositif est sensible à la casse et si le nom ne correspond pas, imageNamed: retourne nil terminaison du réseau.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top