2010-01-01 16 views
15

Ho creato un UISegmentedControl e l'ho collegato correttamente al mio navigationItem.tableView.UISegmentedControl, UIToolbar e UINavigationItem

Ma quando provo a collegarlo a una UIToolbar, esplode.

Sono sicuro di aver già visto UISegementedControls su barre degli strumenti, ma non riesco a farlo funzionare. Pensieri?

// works 
NSArray *statusItems = [[NSArray alloc] initWithObjects:@"one", @"two", nil]; 
statusSegments_ = [[UISegmentedControl alloc] initWithItems:statusItems]; 
self.navigationItem.titleView = statusSegments_; 

// doesn't work 
NSArray *statusItems = [[NSArray alloc] initWithObjects:@"one", @"two", nil]; 
statusSegments_ = [[UISegmentedControl alloc] initWithItems:statusItems]; 
NSArray *toolbarItems = [[NSArray alloc] initWithObjects:statusSegments_, nil]; 
self.toolbarItems = toolbarItems; 
[toolbarItems release]; 
[Session started at 2010-01-01 13:40:35 -0600.] 
2010-01-01 13:40:35.182 TimeSheet[15382:20b] *** -[UISegmentedControl view]: unrecognized selector sent to instance 0x3f5c3e0 
2010-01-01 13:40:35.183 TimeSheet[15382:20b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[UISegmentedControl view]: unrecognized selector sent to instance 0x3f5c3e0' 
2010-01-01 13:40:35.184 TimeSheet[15382:20b] Stack: (
    10847323, 
    2479902267, 
    11229243, 
    10798710, 
    10651330, 
    24428622, 
    24429410, 
    24133352, 
    24133878, 
    11379, 
    24149733, 
    24130330, 
    24151483, 
    24129979, 
    23770, 
    23906970, 
    23890136, 
    2838970, 
    10631872, 
    10628168, 
    960429, 
    960626, 
    23633923 
)

risposta

34

È necessario avvolgere la vista di controllo segmentata in un UIBarButtonItem:

UIBarButtonItem *item = [[[UIBarButtonItem alloc] initWithCustomView:statusSegments_] autorelease]; 
+0

Grazie. Ha funzionato, ma è stato difficile trovarlo documentato? Avete un link? –

+0

Giusto fosse, la documentazione 'UIToolbar': http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIToolbar_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40006927- CH3-SW8 – Joost

+0

Grazie, questo link ha portato a ciò che avrei dovuto vedere prima: "La classe UIBarButtonItem incapsula le proprietà e i comportamenti degli elementi aggiunti agli oggetti UIToolbar e UINavigationBar." http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIBarButtonItem_Class/Reference/Reference.html –