Un controller aggiunge uno UISegmentedControl
a una barra di spostamento. Il controllo segmentato viene aggiunto alla barra di navigazione nel metodo viewDidLoad
del controller, ma i segmenti effettivi vengono creati dinamicamente dopo la chiamata a viewDidLoad
.Ridimensionamento automatico in una barra di navigazione di un controllo segmentato costruito dinamicamente
Non riesco a ridimensionare automaticamente i segmenti quando viene visualizzata la vista. Sono tutti schiacciati, like in this post, anche se la risoluzione non si applica qui. Se i segmenti vengono aggiunti prima che il controllo segmentato venga aggiunto all'elemento giusto della barra di spostamento (interrompendo la natura dinamica del codice), vengono ridimensionati automaticamente e appaiono corretti quando viene visualizzata la vista.
Ecco una versione ridotta del mio codice, di seguito. Cosa mi manca?
@implementation MyController
- (void)viewDidLoad {
// segmentedControl is an ivar
segmentedControl = [UISegmentedControl alloc] initWithItems:[NSArray array]];
UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl] autorelease];
self.navigationController.navigationBar.topItem.rightBarButtonItem = barButtonItem;
}
- (void)someMethodCalledAfterViewDidLoad {
[segmentedControl insertSegmentWithTitle:@"a title"
atIndex:0
animated:NO];
}
@end
Ciao @Krystsztof, l'ho provato ma non ha funzionato purtroppo. – ptrico
Ha lavorato per noi, grazie !!! –