2010-06-09 16 views

risposta

7

È possibile utilizzare un UISegmentedControl con due pulsanti e configurarlo con la proprietà momentary impostata su SÌ.

Questo è ciò che viene utilizzato nell'applicazione Mail per passare al messaggio successivo/precedente.

Aggiornamento

Al fine di assegnare l'UISegmentedControl] 1 come tasto destro, è necessario avvolgerlo in un UIBarButtonItem (codice campione prelevato dal NavBar sample application):

- (void)viewDidLoad 
{ 
    // "Segmented" control to the right 
    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems: 
               [NSArray arrayWithObjects: 
                [UIImage imageNamed:@"up.png"], 
                [UIImage imageNamed:@"down.png"], 
               nil]]; 
    [segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged]; 
    segmentedControl.frame = CGRectMake(0, 0, 90, kCustomButtonHeight); 
    segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; 
    segmentedControl.momentary = YES; 

    UIBarButtonItem *segmentBarItem = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl]; 
    [segmentedControl release]; 

    self.navigationItem.rightBarButtonItem = segmentBarItem; 
    [segmentBarItem release]; 
} 
+0

Può un UISegmentedControl essere castato come UIBarButtonItem? –

+0

Ho aggiornato la mia risposta per mostrare come utilizzare un UISegmentedControl come rightBarButtonItem. –

Problemi correlati