UisegmentedControl zeigt nur das erste Element auf dem Gerät an, funktioniert jedoch im Simulator
-
26-10-2019 - |
Frage
Ich habe ein Fügen Sie herausgefunden, wie Sie ein UisegmentedControl -Element zum Taste der Navigationsleiste hinzufügen (rechte Balken -Taste). Es funktioniert im Simulator gut, aber wenn ich es auf dem Gerät versuche, wird nur das erste Element in der segmentierten Steuerung angezeigt. Es nimmt die volle Länge ein (dh es gibt nur ein Segment über das Ganze).
- (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];
}
Irgendwelche Ideen, was schief geht?
Lösung
Stellen Sie sicher, dass die Bilddateinamen genau mit den Ressourcennamen in Ihrem Projekt einschließlich Groß-/Kleinbuchstaben übereinstimmen.
Das Gerät ist fälschlichempfindlich und wenn der Name nicht übereinstimmt, übereinstimmt, imageNamed:
wird zurückkehren nil
Beenden des Arrays.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow