Eseguire metodo tra 2 viewcontroller

di il
2 risposte

Eseguire metodo tra 2 viewcontroller

Ciao a tutti,

torno a scrivere dopo più di un anno di assenza dai miei test di programmazione, più che altro perché non riuscivo ad approdare all'obj-c
ora, dopo un corso, sto cominciando a capire qualcosa... giusto qualcosa!

comunque, il mio problema è questo

sto facendo un app (solo portrait) dove ci sono 2 view controller ed un singleton

- primoViewController contiene una uiimageview con una immagine (660 px, più larga dello schermo portrait)
- secondoViewController un date picker
- il singleton mi serve per passare un valore dal secondoViewController al primoViewController
questo valore viene assegnato alla x della posizione della uiimageview.

quindi, apro l'app, l'immagine è in posizione x=0 y=80
passo al secondoVC, imposto una data, l'algoritmo nel codice mi calcola un integer che viene assegnato nel singleton
torno al primoVC, l'uiimageview dovrebbe fare un reload della posizione dato che la sua x è stata modificata. invece no...
premetto che il valore nel singleton viene correttamente passato
in alcuni casi tornando da secondoVC a primoVC mi ritrovo 2 immagini, e quella nuova è nella posizione corretta, ovvero ha x = nuovoValore.
Questa duplicazione deve essere dovuta al [self.view addSubView:myImage] che viene ricaricato nel passaggio
Insomma, vorrei che invece di ricaricare una nuova subview, mi spostasse quella creata precedentemente...
Spero di essere stato chiaro... ancora non padroneggio tutti i termini!!

2 Risposte

  • Re: Eseguire metodo tra 2 viewcontroller

    Ciao! posta un pò di codice, vediamo che succede
  • Re: Eseguire metodo tra 2 viewcontroller

    Ciao d0zer,
    scusa il ritardo nel rispondere ma sono stato fuori un po' di giorni...

    allora, aggiorno la situazione.
    nel frattempo sono riuscito a far spostare la view, inserendo un'animazione
        [UIView beginAnimations:@"MoveView" context:nil];
        [UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
        [UIView setAnimationDuration:1.0f];
        self.primaImmagine.frame = CGRectMake(optionsSingle.primaX, 55, 978, 370);
        [UIView commitAnimations];
    il problema ora è un altro, e non riesco a capire perché in un altro degli innumerevoli progetti creati per realizzare questa app questa cosa mi funzionava...

    ricapitolando, nel primo vc c'è una uiimageview, nel secondo un datepicker, inserendo una data calcolo nel secondo vc un valore, lo passo ad un oggetto nel singleton, torno nel primo vc, questo valore mi fa spostare l'immagine di un tot di pixel.
    solo che questo spostamento non riesco a farglielo fare quando torno indietro dal secondo vc, ho dovuto mettere per forza un button che facesse il reload, praticamente ho messo in questa azione il codice dell'animazione sopra riportato...

    da quello che so dovrei utilizzare forse un delegato, che quando chiude la modal view (secondo view controller) faccia partire il metodo reload...

    se qualcuno sa dirmi qualcosa a riguardo... non ho esperienze con "delegate"...
    grazie!
Devi accedere o registrarti per scrivere nel forum
2 risposte