2010-12-15 117 views
0

Je sens que je suis complètement hors de ma profondeur ici, im très nouveau à l'objectif c, mais j'ai été invité à concevoir une application iphone dans le cadre de mon cours uni. J'ai conçu un quiz sinple avant, mais j'espérais concevoir un jeu-questionnaire plus avancé avec 3 niveaux (chaque niveau aura un quiz différent). Je ne sais pas comment utiliser les UIViews et j'ai essayé un tutoriel en ligne pour m'aider à coder un contrôleur de navigation. Cela me donne 3 options pour entrer dans la sous-vue 1, 2 ou 3. Toutes les sous-vues ont le même écran, avec une étiquette et un bouton.Quelqu'un peut-il aider un novice de l'objectif C?

J'ai jusqu'à présent 3 classes, RootViewController, BasicNavigationAppDelegate et SubViewOneController.

Je ne comprends vraiment pas le code du tout, je suis familier avec Java, mais cet objectif c est rien de tel. Est-ce que quelqu'un pourrait peut-être prendre une minute pour aider une personne en détresse et expliquer si je fais cela correctement en utilisant le contrôleur de navigation pour afficher mes niveaux? Quand je vérifie les dossiers d'interface de xib je ne vois pas le bouton ou l'étiquette, ou ne sais pas où ajouter les objets d'interface de quiz! Je suis vraiment confus par tout cela. Quelqu'un pourrait-il aider?

+1

Je suis sûr qu'il ya beaucoup de gens qui voudraient aider vous avec votre problème, mais sans code, ou avec des détails plus précis sur le problème que vous rencontrez, nous ne pouvons pas faire grand-chose. Veuillez limiter votre question au problème réel que vous rencontrez. – SingleNegationElimination

+0

Y a-t-il plusieurs vues par quiz? – prgmast3r

+0

Non, il n'y a qu'une vue par questionnaire. L'écran du menu principal donnera l'option de choisir entre 3 niveaux (chaque niveau aura sa propre vue) –

Répondre

1

Vous devez rechercher google pour un exemple de code source et voir comment certaines vues peuvent être gérées. Il y a plusieurs façons de gérer une vue, que ce soit par UINavigationController, UITabBarController, etc. Si vous êtes nouveau sur Objective-C, alors vous n'obtiendrez pas vraiment de réponse à cette question qui vous indiquera exactement quoi faire .

Interface Builder + View Controllers

est ici un bon pour vous: View Controllers Programming Guide

(Apple's) View Controller Reference Guide

Some Code Samples

Getting Started Sample Code

+0

Ive ben vérifiant ces liens et faisant la lecture de somme. Merci! –

0

pour un quiz de niveau 3, UINavigationController est certainement une option. Si vous avez besoin de savoir comment utiliser une classe, dans xcode, tapez son nom, puis appuyez sur -alt- et double-cliquez sur le nom de la classe, cela fera apparaître une courte description, avec deux icônes, l'une prendra vous au fichier d'en-tête, et l'autre à la documentation. Pour ajouter des éléments aux fichiers nib/xib, vous devrez ouvrir la fenêtre de la bibliothèque, où vous trouverez des étiquettes, des boutons, etc. pour utiliser un bouton, vous devrez définir une action dans votre fichier d'en-tête, et branchez-le dans IB, pour pouvoir interagir avec UIElements dans votre code, vous voulez configurer des points de vente dans le fichier d'en-tête et connectez-les dans IB. Quelque chose que vous devez décider, est la façon dont vous allez présenter les questions, et dépendra aussi si la réponse sera vrai/faux, choix multiples ou saisie de texte.

Si vous n'êtes pas familiarisé avec obj-c et xcode, il vaut probablement la peine d'aller chercher un ebook chez quelqu'un comme http://www.pragprog.com. ils ont un un iPhone là-bas par Bill Dudney qui est assez bon (je crois qu'il travaille maintenant pour la pomme.)


pour la lame standard sur la transition que vous pouvez utiliser. // vous voudrez probablement l'appeler quelque chose comme level1NavBarItemWasPushed: à la place - (IBAction) lvl1pushNavBarItem: (id) expéditeur { // crée une instance de la classe AnswersViewController. AnswersViewController * level1AnswersVC = [[Level1AnswersViewController alloc] init];

//pass it some kind of identifier so it can tell which quiz/question it is dealing with and pull in the answers, so that you can reuse the view 
    [level1AnswersVC setAnswersObject:<<insert object dictionary here>>]; 

    //push the view controller onto the navigationController's view stack 
    [self.navigationController pushViewController:level1AnswersVC animated:TRUE]; 

    //pushing it onto the view stack has given it +1 retain, so we can now release it without worrying about it disappearing prematurely. 
    [level1AnswersVC release]; 
} 

pour la transition flip page que vous pouvez utiliser.

- (IBAction)lvl1pushNavBarItem:(id)sender { 
    //create instance of AnswersViewController class. 
    AnswersViewController *level1AnswersVC= [[Level1AnswersViewController alloc] init]; 

    //pass it some kind of identifier so it can tell which quiz/question it is dealing with and pull in the answers, so that you can reuse the view 
    [level1AnswersVC setAnswersObject:<<insert object dictionary here>>]; 

    //set the current viewController as the delegate, so that it can call back to us when its done   
    level1AnswersVC.delegate = self; 

    //set the modal transition style 
level1AnswersVC.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 

    //show answers as modal view, which has been setup to use the page flip transition. 
[self presentModalViewController:level1AnswersVC animated:YES]; 

    //pushing it onto the view stack has given it +1 retain, so we can now release it without worrying about it disappearing prematurely. 
    [level1AnswersVC release]; 
} 
+0

C'est surtout le contrôleur UIView et le système de navigation qui ont eu des difficultés. J'ai déjà conçu un quiz de travail, mais en utilisant simplement la fenêtre principale de rootview. Mon problème est d'essayer de mettre ce quiz sur 3 vues différentes, avec différentes questions et réponses. Le navigationController que j'ai fait en utilisant un tutoriel en ligne m'amène à ces 3 sous-vues mais je ne comprends pas le code. Je lis quelque chose en ligne, j'espère que je le comprend. –

+0

vous ne comprenez pas tout cela? ou y a-t-il des morceaux spécifiques? Si vous publiez une partie du code que vous ne comprenez pas, je peux vous l'expliquer. – MCannon

+0

J'ai eu les points de vue pour travailler et j'utilise le contrôleur de navigation, bien que je ne pense pas l'employer juste: - (IBAction) lvl1pushNavBarItem: (id) expéditeur { \t \t [UIView beginAnimations: Nil context: NULL]; \t [UIView setAnimationDuration: 1.0]; \t [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft forView: cache automatique: OUI]; [view2 removeFromSuperview]; \t [self addSubview: view1]; \t [UIView commitAnimations]; } –

0

Je recommande Head First iPhone Development: A Learner's Guide to Creating Objective-C Applications for the iPhone. Dans quelques chapitres, vous saurez tout ce dont vous avez besoin pour construire cette application et vous comprendrez réellement ce que vous faites.

(je ne connais pas les auteurs ou l'éditeur, je pense qu'il est un grand livre pour rapidement obtenir jusqu'à la vitesse.)

+0

Lookin à la somme des commentaires des clients et son seulement été gettin 3/6 étoiles, donc son peu m'a mis hors tension. J'ai trouvé des trucs en ligne trouvés en cours de lecture. C'est surtout le contrôleur UIView et le système de navigation qui ont eu des difficultés. Mais merci pour votre suggestion. –