2010-12-15 14 views
0

Ich fühle mich hier völlig überfordert, ich bin sehr neu auf objektiven c, wurde aber gebeten, eine iPhone App als Teil meines Uni-Kurses zu entwerfen. Ich habe vorher ein einfaches Quiz entworfen, aber ich hatte gehofft, ein fortgeschritteneres Quizspiel mit 3 Levels zu entwickeln (jedes Level wird ein anderes Quiz haben).Kann jemand einem Objective C Anfänger helfen?

Ich weiß nicht, wie man die UIViews benutzt, und ich habe ein Tutorial online versucht, mir einen Navigationscontroller zu programmieren. Es erlaubt mir 3 Optionen, um in Teilansicht 1, 2 oder 3 zu gehen. Alle Teilansichten haben den gleichen Bildschirm, mit einem Label und einer Schaltfläche.

Ich habe bisher 3 Klassen, RootViewController, BasicNavigationAppDelegate und SubViewOneController.

Ich verstehe wirklich nicht den Code überhaupt, ich bin vertraut mit Java, aber dieses Ziel c ist nichts dergleichen. Könnte jemand vielleicht eine Minute dauern, um einer Person in Not zu helfen, und erklären, ob ich das richtig mache, indem ich den Navigationscontroller verwende, um meine Level anzuzeigen? Wenn ich die XIB-Interface-Dateien überprüfe, sehe ich nicht die Schaltfläche oder das Etikett, oder weiß nicht, wo ich die Quiz-Interface-Objekte hinzufügen soll !! Ich bin wirklich verwirrt von all dem. Könnte jemand helfen?

+1

Ich bin sicher, es gibt viele Leute, die helfen möchten, Sie mit Ihrem Problem, aber ohne Code oder mit spezifischeren Details zu dem Problem, das Sie haben, können wir nicht viel tun. Bitte schränken Sie Ihre Frage auf das eigentliche Problem ein. – SingleNegationElimination

+0

Gibt es mehrere Aufrufe pro Quiz? – prgmast3r

+0

Nein, es gibt nur eine Ansicht pro Quiz. Der Hauptmenübildschirm bietet die Möglichkeit, zwischen 3 Ebenen zu wählen (jede Ebene hat ihre eigene Ansicht). –

Antwort

1

Sie sollten google für Beispielquellcode suchen und sehen, wie einige der Ansichten behandelt werden können. Es gibt viele Möglichkeiten, wie Sie mit einer Ansicht umgehen können, sei es mit einem UINavigationController, UITabBarController usw. Wenn Sie Objective-C noch nicht kennen, erhalten Sie keine Antwort auf diese Frage, die Sie darüber aufklärt, was genau zu tun ist .

Interface Builder + View Controllers

Hier ist ein gutes für Sie: View Controllers Programming Guide

(Apple's) View Controller Reference Guide

Some Code Samples

Getting Started Sample Code

+0

Ive ben checken diese Links aus und tun das Lesen der Summe. Vielen Dank! –

0

für ein 3-Level-Quiz, ist UINavigationController definitiv eine Option.

Wenn Sie herausfinden müssen, wie Sie eine Klasse verwenden, geben Sie in xcode ihren Namen ein, drücken Sie dann -alt- und doppelklicken Sie auf den Klassennamen. Dadurch wird eine kurze Beschreibung mit zwei Symbolen angezeigt Sie in die Header-Datei und die andere in die Dokumentation.

Zum Hinzufügen von Elementen zu den nib/xib-Dateien müssen Sie das Bibliotheksfenster öffnen, in dem Sie Beschriftungen, Schaltflächen usw. finden, um eine Schaltfläche zu verwenden. Sie müssen eine Aktion in Ihrer Header-Datei definieren Verbinden Sie es in IB, um mit UIElements in Ihrem Code interagieren zu können, möchten Sie Outlets in der Header-Datei einrichten und sie in IB verbinden.

Etwas, über das Sie entscheiden müssen, ist, wie Sie die Fragen präsentieren werden, und hängt auch davon ab, ob die Antwort wahr/falsch, Mehrfachauswahl oder Texteingabe ist.

Wenn Sie nicht mit obj-c und xcode vertraut sind, lohnt es sich wahrscheinlich, ein E-Book von jemandem wie http://www.pragprog.com abzurufen. sie haben eine ein iPhone dort von Bill Dudney das ist ziemlich gut (ich glaube, er arbeitet jetzt für Apple.)


für die Standard-Folie aus Übergang Sie diese verwenden könnten. // Sie würden wahrscheinlich so etwas wie level1NavBarItemWasPushed nennen: stattdessen - (IBAction) lvl1pushNavBarItem: (id) sender { // create Instanz der AnswersViewController-Klasse. 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]; 
} 

für das Umblättern Übergang Sie diese verwenden könnten.

- (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

Es sind vor allem die UIView und Navigation Controller, mit denen ich zu kämpfen habe. Ich habe ein Arbeitsquiz vorher entworfen, aber nur das Hauptwurzelansichtfenster verwendend. Mein Problem ist, dieses Quiz auf 3 verschiedene Ansichten mit verschiedenen Fragen und Antworten zu stellen. Der navigationController, den ich mit einem Online-Tutorial gemacht habe, bringt mich zu diesen 3 Subviews, aber ich verstehe den Code nicht. Ich lese einige Sachen online, hoffentlich finde ich es. –

+0

Sie verstehen nichts davon? oder gibt es bestimmte Brocken? Wenn Sie etwas von dem Code veröffentlichen, den Sie nicht verstehen, kann ich es Ihnen erklären. – MCannon

+0

Ich habe die Ansichten zu arbeiten und benutze Navigation Controller, obwohl ich glaube nicht, dass ich es richtig benutze: - (IBAction) lvl1pushNavBarItem: (ID) Absender { \t [UIView beginAnimations: Null Kontext: NULL]; \t [UIView setAnimationDuration: 1.0]; \t [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft fürView: Self-Cache: YES]; [view2 removeFromSuperview]; \t [self addSubview: view1]; \t [UIView commitAnimations]; } –

0

Ich empfehle Head First iPhone Development: A Learner's Guide to Creating Objective-C Applications for the iPhone. Innerhalb weniger Kapitel werden Sie alles wissen, was Sie brauchen, um diese App zu erstellen und Sie werden tatsächlich verstehen, was Sie tun.

(ich weiß nicht, die Autoren oder Verleger, ich denke nur, es ist ein großes Buch für schnelle Geschwindigkeit aufzustehen.)

+0

Blick auf Summe Kundenrezensionen und es wurde nur get 3/6 Sterne, so dass es mich irgendwie abschrecken. Found sum stuff online habe ich gelesen. Es sind hauptsächlich die UIView- und Navigation-Controller, mit denen ich zu kämpfen habe. Aber danke für deinen Vorschlag. –

Verwandte Themen