Creare una semplice App per indovinare una frase

Tempo fa avevo creato un app semplice giusto per divertirmi (praticamente i giorni prima del nuovo anno 2013), con pochi e semplici codici. Aprendo un nuovo progetto su Xcode andiamo nello storyboard e inseriamo una UITextView e scriviamo qualcosa dentro tipo : Io mi chiamo___.

app semplice di natale

Dove sono gli trattini bassi inserite un UITextField modificando la sua larghezza quanto i trattini. Inserite anche un bottone possibilmente sotto la UITextView. Adesso andiamo nel file delle dichiarazioni e inseriamo i codici degli oggetti che abbiamo inserito:

{
 IBOutlet UITextView *testo
 IBOutlet UITextField *first;
}
-(IBAction)okButton:(id)sender;

Inseriamo anche il protocollo  <UITextFieldDelegate> e per rendere l’app più carina inseriamo un framework già presente in Xcode “AVFoundation”  importando la sua classe nell nostro progetto. Faremo una cosa semplice: Quando il bottone verrà premuto faremmo partire una canzone.

Colleghiamo gli outlet nello Storyboard e poi andiamo nel file del implementazione nel ViewDidLoad :

first.delegate=self;
testo.text = @"Io mi chiamo___.";

Implementiamo il metodo dichiarato:

-(IBAction)okButton:(id)sender
{
    NSMutableString *mtmbStringa = [NSMutableString stringWithString:testo.text];
    NSUInteger firstLength = [first.text length];
    [mtmbStringa replaceCharactersInRange:NSMakeRange(23,firstLength) withString:first.text];
    testo.text = mtmbStringa;
    NSString *rightString = @"Io mi chiamo Apple.";

    if ([mtmbStringa isEqualToString:rightString])
    {
        first.text=@"";
        [self soundPlay];
     }else {
        UIAlertView *alert= [[UIAlertView alloc] initWithTitle:nil message:@"No, ti sbagli" delegate:self cancelButtonTitle        :@"Riprova" otherButtonTitles: nil];
        [alert show];
       [sound stop];
    }
}

Praticamente se la stringa è uguale a quello che noi vogliamo, faremmo partire un suono o una musica.
Come vedete, abbiamo inserito anche un metodo “soundPlay”:

-(void)soundPlay
{
    NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/JINGLE BELLS - FRANK SINATRA.mp3", [[NSBundle mainBundle] resourcePath]]];
    NSError *error;
    sound = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
    sound.numberOfLoops = 0;
    [sound play];
}

Non dimenticate di dichiarare una classe “AVAudioPlayer“:

AVAudioPlayer *sound;

Adesso possiamo testare il progetto e se volete potete confrontarlo con quello un po più esteso del tutorial.

download codice sorgente