2010-02-02 4 views
0

Im juste bidouiller avec de petites applications, en essayant d'apprendre le SDK et ObjC 2.affichage Image aléatoire en utilisant rand()

Im essayant d'afficher une image au hasard et je continue à trouver des façons différentes en afficher une image. J'ai téléchargé l'image dans le dossier des ressources du SDK.

Quoi qu'il en soit, voici mon code. Quelqu'un peut-il me diriger dans la bonne direction.

#import "randomViewController.h" 

@implementation randomViewController 


//not sure if this is the right way to do it really. 
NSArray *comImage = [NSArray arrayWithObjects: 
     [UIImage imageNamed:@"rock.png"], 
     [UIImage imageNamed:@"paper.png"], 
     [UIImage imageNamed:@"scissors.png"], 
     nil]; 


- (IBAction) randButton { 
int text = rand() % 3; 
switch (text) { 
    case 0: 
    textView.text = @"Rock"; 
    break; 
    case 1: 
    textView.text = @"Paper"; 
    break; 
    case 2: 
    textView.text = @"Scissors"; 
    break; 
    default: 
    break; 
} 
} 
+0

Je ne comprends pas la phrase "Je continue de trouver différentes façons d'afficher une image". Et veuillez formater le code. Merci. – yehnan

+0

Je ne savais pas comment formater le code alors je l'ai juste mis, désolé. Fondamentalement, ce que je dis, c'est que je vois les gens faire cela différemment et je ne peux pas donner un sens à cela. merci :) –

Répondre

1

je le ferais de cette façon:

NSArray *myImageNames = [NSArray arrayWithObjects:@"rock.png", @"paper.png", @"scissors.png", nil]; 
int index = arc4random() % [myImageNames count]; 

UIImage *myImage = [UIImage imageNamed:[myImageNames objectAtIndex:index]]; 
myUIImageView.image = myImage; 

Évidemment, vous pouvez tenir à myImageNames de sorte que vous n'avez pas à recréer chaque course si vous le jugez utile.

Édition:
Got it. Voir le code mis à jour. Il suppose que vous avez déjà ajouté un UIImageView appelé myUIImageView à votre vue. Je suppose que vous savez comment faire si vous avez déjà un UIButton sur l'écran.

Pour ajouter un UIImageView:

Donne la UIImageView * myUIImageView dans votre tête.
place dans votre viewDidLoad en supposant que vous utilisez un xib:

myUIImageView = [[UIImageView alloc] initWithFrame:CGRectMake(x, y, width, height)]; 
[self.view addSubview:myUIImageView]; 

Remplacer x, y, largeur et hauteur avec les valeurs appropriées. Ils détermineront dans quelle vue UIImageView apparaît et quelle est sa taille.

+0

Alors, est-ce que je remplace le "blah, foo, bar" avec les noms d'image comme "rock.png" etc? et puis-je mettre tout cela dans le - (IBAction)? –

+0

Oui, et oui. Cependant, vous ne savez pas très bien ce que vous faites, car vous n'utilisez jamais vos images dans le code ci-dessus. –

+0

Fondamentalement, ce que je veux faire est d'afficher une image aléatoire lorsque j'appuie sur le "bouton". Il agit comme le choix des ordinateurs pour les ciseaux de papier de roche. Je ne sais pas trop comment s'y prendre et j'ai pensé que ce serait la meilleure façon de le faire. Je commence juste à l'apprendre. –

0

Pour afficher les images, vous souhaitez ajouter un UIImageView et définir sa propriété image à UIImage que vous voulez. Regardez la réponse de David pour voir comment obtenir une image aléatoire en utilisant objectAtIndex:, puis définissez la propriété image de votre vue d'image à cela.