Corsi di programmazione web e mobile online
Pagina 1 di 3 123 UltimaUltima
Risultati da 1 a 10 di 30

Discussione: Confronto fra valore inserito e valore slider

  1. #1
    Senior Member
    Data Registrazione
    Sep 2011
    Messaggi
    822

    Confronto fra valore inserito e valore slider

    Corso online di programmazione android e java
    Salve ragazzi,
    la mia app "Inserisci_Tutto_Quello_Che_Stai_Imparando_In_Un_U nica_App" ( ) procede bene ma ho un problemino.
    Ho un'immagine e uno slider associato. Quando sposto lo slider l'immagine cambia trasparenza. Fatto questo, tramite un tasto ottengo un messaggio UIAlert che mi ridà il valore dello slider. Successivamente devo inserire in una text field il valore contenuto nella UIAlert e, tramite tasto apposito, controllare se corrisponde o meno. Se dovesse corrispondere, si passa alla prossima vista altrimenti si otterrà un messaggio per inserire nuovamente il valore.
    Quindi: come confronto il valore che ho inserito nella textfield con il valore dello slider, mostratomi attraverso la UIALert?

  2. #2
    Moderator L'avatar di andreaCappellotto
    Data Registrazione
    Jul 2010
    Località
    Trento, Vicenza
    Messaggi
    2,316
    ciao, nel metodo che associ al bottone fai un semplice if dove controlli il valore preso dallo slide e se corretto crei un istanza del tuo nuovo view controller
    Sei soddisfatto dell'aiuto che ti sto offrendo sul forum? Aiutami ad ottenere i mezzi che mi permettono di aiutarti, basta un caffè

    RaadenLabs, deleops your ideas

    Visit our site and contact us

    Seguitemi su twitter

    Skype: andreac_89

  3. #3
    Senior Member
    Data Registrazione
    Sep 2011
    Messaggi
    822
    Grazie per la risposta ma...non mi è molto chiara. Dato che sono davvero all'inizio, chiedo (dove possibile) una risposta "a prova di scemo" e magari con qualche esempio di codice in modo tale che io possa studiarmela. Grazie

  4. #4
    Administrator L'avatar di ignazioc
    Data Registrazione
    Jul 2010
    Messaggi
    3,912
    Credo che il problema sia che lo slider restituisce un floating point mentre tu digiti una stringa...dovresti almeno accorciare il valore a due soli decimali

  5. #5
    Senior Member
    Data Registrazione
    Sep 2011
    Messaggi
    822
    Potrebbe essere un errore che comunque commetto ma il discorso è un altro: non so proprio il metodo per confrontare il valore dello slider con il valore che inserisco nella textfield. Se il valore risultasse uguale passerei ad un'altra view, se cosi non fosse riceverei un messaggio di errore. Questo è il mio scopo.

  6. #6
    Senior Member
    Data Registrazione
    Jul 2011
    Messaggi
    621
    if ([textField floatValue] == [slider floatValue])
    {
    //...............
    }

  7. #7
    Senior Member
    Data Registrazione
    Sep 2011
    Messaggi
    822
    Sto procedendo in questo modo ma non sono arrivato ancora ad una soluzione.

    // Nel metodo per ottenere il valore di alpha

    - (IBAction)cambiaAlpha : (id)sender {
    UISlider *sliderAlpha = (UISlider*) sender;
    self.immagine.alpha = sliderAlpha.value;

    // ho aggiunto anche un NSUserDefaults per "ricordare" il valore ottenuto

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setFloat:sliderAlpha.value forKey:@"Slider"];
    [defaults synchronize];
    }

    Il metodo associato al tasto che mi porterà ad una nuova view è così composto


    - (IBAction)vistaCinque : (id)sender {

    //richiamo il valore
    NSString *valoreAlpha = [[NSUserDefaults standardUserDefaults] objectForKey:@"Slider"];

    // trasformo questo valore di tipo float in stringa
    NSString *str = [NSString stringWithFormat:@"%f", valoreAlpha];

    // valore inserito nella textfield
    NSString *valoreFloat = self.campoTesto2.text;

    // controllo con un if
    if ([valoreFloat floatValue] == [str floatValue]) {
    self.view = quintaView;
    // ....
    }
    }

    Dov'è che sto sbagliando?

  8. #8
    Senior Member
    Data Registrazione
    Jul 2011
    Messaggi
    621
    Controlla inoltre di aver controllato i collegamenti degli IBOutlet

  9. #9
    Senior Member L'avatar di freellino
    Data Registrazione
    Dec 2010
    Località
    bari
    Messaggi
    1,277
    se proprio vuoi confrontare 2 stringhe (quelle che contengono la "rappresentazione" del float), devi usare il metodo di classe nsstring, appunto che confronta 2 stringhe, chiamato isequaltostring.
    l'operatore di confronto == va bene solo se lavori con numeri. ma nel momento in cui hai trasformato in stringa, devi usare un'altro approccio.

    francesco

  10. #10
    Senior Member
    Data Registrazione
    Sep 2011
    Messaggi
    822
    Corso online di programmazione android e java
    @Ianero si, gli IBOutlet sono collegati in maniera adeguata.

    @freellino la tua risposta "se proprio vuoi confrontare 2 stringhe" lascia intendere che esiste un modo per evitare di fare questo ed eseguire un confronto in maniera diretta. Il mio unico scopo è inserire un valore nella textfield e controllare che sia uguale al valore dello slider, tutto qui. Non ho il bisogno di confrontare le stringhe. Sto seguendo questo percorso solo perchè ci sto arrivando pian piano in questo modo ma se questa non è la soluzione migliore (o comunque la più adeguata in questo contesto) puoi dirmelo, anzi devi! .

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •