Ho un'app con due Viewcontroller Viewcontroller e OptionsViewController. Viewcontroller è il viewcontroller iniziale, quindi se faccio clic su un pulsante ho un passaggio modale a optionsviewcontroller. Lì in optionsviewcontroller ho I viewcontroller UISegmented creato dallo storyboard che è collegato a una presa (UnitsSegmentedControl) e voglio essere in grado di dire al controllo segmentato quale segmento deve essere selezionato per impostazione predefinita quando viene caricato OptionsViewController. Nel mio viewController ho scritto un metodo:impostazione del segmento predefinito in UISegmentedControl
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
OptionsViewController *ovc=[segue destinationViewController];
ovc.delegate=self;
[ovc.UnitsSegmentedControl setSelectedSegmentIndex:1];
la cosa è quando OptionsViewController carica la vista l'indice selezionato è 0, come per impostazione predefinita. Non ricevo alcun messaggio di errore o qualcosa del genere. Sto usando Xcode 4.2. Penso che potrebbe essere un'opzione che posso cambiare nello storyboard per rendere UISegmentedControl in grado di impostare l'indice selezionato predefinito. Non so cos'altro potrebbe causare questo. Grazie
EDIT: ho capito che se scrivo:
[ovc.UnitsSegmentedControl setSelectedSegmentIndex:1];
all'interno OptionsViewController metodo viewDidLoad tutto funziona bene. Perché non riesco a farlo dal metodo di preparazione per i passaggi?
ho trovato un modo per aggirare questo problema creando una proprietà in OptionsViewController chiamata index e impostandola sul numero del segmento che volevo selezionare direttamente dal metodo prepareforsegue e poi assegnarlo al segmentviewcontrol nella vista caricata. grazie per l'aiuto – Mppl