Tab Bar Application um 2 weitere view´s erweitern.

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Tab Bar Application um 2 weitere view´s erweitern.

    Hallo ersteinmal und um es gleich vorweg zu sagen,
    ich bin Anfänger, sowohl mit objective c als auch mit dem Programmieren überhaupt.
    Ich habe auch schon in diesem und anderen Foren nach einer Lösung für mein Problem gesucht aber bisher noch keine gefunden.
    Ausserdem habe ich mir zum Thema objective c nun Bücher gekauft aber zu meinem Problem steht da auch nichts.

    Im Grunde möchte ich nur 2 weitere Vievs dem gerade frisch erstelltem neuen project hinzufügen. Ich habe einfach ein neues Projeckt gestartet und als Ausgang dann "TabBar Application" gewählt und es auf dem Desktop gespeichert.

    Doch nun weiß ich leider nicht mehr weiter und währe für Hilfe sehr dankbar.
    Vieleicht eine kurze step by step anweisung wie man der standard "Tab Bar Application" einfach nur 2 weitere View´s hinzu füge und dann also 4 buttons in der Tab Bar habe mit denen ich zwischen den vier dann 4 view´s umschalten kann.

    Ich habe, weil ich dachte ich könnte das jetzt, 4 Vies erstellt.
    Die ersten beiden sind die die schon da waren und dann habe ich noch 2 neue erstellt auch schon hübsch gemacht weil ich keine schwierigkeiten erwartet habe. Nur funktionieren tut das nicht.
    Im Simulator kann ich zwischen den ersten beiden Views mit den ersten beiden Tab buttons umschallten doch sobald ich auf ein neues klicke bleibt die Anwendung stehen. Keine Fehlermeldung.
    Ich habe dann jeweils für die beiden neuen Views die Verbindungen gezogen und im IB dann auch im File´s Owner die gleichen 3 Outlets erstellt wie ich es bei dem 2. View das ja schon da war abgeschaut habe.
    Die Views haben also genau so die File´s owner als Reference Outlet und die Class Outlet sind die gleichen wie bei dem 2. View. Die File´s Owner Class Identity ist auch bei den beiden neuen Views vom Typ UIViewContoller.

    Was mich etwas wundert ist das dieses standard "Tab Bar Aplication" Projeckt irgendwie anders arbeitet als ich es in den ersten Tutorials gelernt habe.

    Es ist im erstgeladenem window (in der xib datei) überhaupt kein viev enthalten und die IBOutlets fehlen auch(in der FirstViewController.h datei). Dementsprechend fehlt dann auch das @synthesize in der FirstViewController.m datei.
    Ich vermute das hat mit dem UITabBarController zu tun.

    Also wie gesagt, ein kleines how to wäre nett.

    Vielen Dank schon mal :o)
  • So, nun habe ich diese beiden tutorial videos gefunden die ich auch gut finde.
    Nur möchte ich für jedes Hauptview gerne ein eigenes xib file erstellen und einbinden und nicht alles in einem machen (das wird ja etwas sehr unübersichtlich bei meiner geplanten Anwendung).

    Wenn man das Standart Projeckt "Tab Bar Application" erstellt und es im IB ansieht, stellt man fest das das zweite View seine daten aus einem extra xib file lädt.

    Na ja und das geht eben bei mir nicht :o(

    Ups, hatte die Links vergessen

    iphonedevcentral.org/tutorials…torial&id=51&uid=50671218

    und

    iphonedevcentral.org/tutorials…torial&id=28&uid=31250861

    Nur für den fall das andere später auch damit beschäftigt sind.
  • After looking the videos and this forum link
    iphonedevsdk.com/forum/iphone-…43-uitabbar-question.html
    it seemed to be easy but it will not work.

    I createt a new project, ad a third view xib file in wich i droped i viev and a label so i can see that i reached the third view and then i ad a third Tab Bar Item to the mainviw.xib and for this i selected the third viev in the atributes tab in the inspector.
    Now saved everything and start build and go.

    The same results as before.
    I can switch between the first two tabs (and the views of them) but the third one is not working.

    Man i wasting hour after hour on this :o(
  • Original von ocstarter
    After looking the videos and this forum link
    iphonedevsdk.com/forum/iphone-…43-uitabbar-question.html
    it seemed to be easy but it will not work.

    I createt a new project, ad a third view xib file in wich i droped i viev and a label so i can see that i reached the third view and then i ad a third Tab Bar Item to the mainviw.xib and for this i selected the third viev in the atributes tab in the inspector.
    Now saved everything and start build and go.

    The same results as before.
    I can switch between the first two tabs (and the views of them) but the third one is not working.

    Man i wasting hour after hour on this :o(


    Wir sind hier in einem deutschsprachiges Forum!
    malloc: *** vm_allocate(size=1665622016) failed (error code=3)
  • Original von Jens
    Original von ocstarter
    After looking the videos and this forum link
    iphonedevsdk.com/forum/iphone-…43-uitabbar-question.html
    it seemed to be easy but it will not work.

    I createt a new project, ad a third view xib file in wich i droped i viev and a label so i can see that i reached the third view and then i ad a third Tab Bar Item to the mainviw.xib and for this i selected the third viev in the atributes tab in the inspector.
    Now saved everything and start build and go.

    The same results as before.
    I can switch between the first two tabs (and the views of them) but the third one is not working.

    Man i wasting hour after hour on this :o(


    Wir sind hier in einem deutschsprachiges Forum!


    Und englisch ist das auch irgendwie nicht.
    Die Objective-Cloud ist fertig wenn sie fertig ist. Beta heißt Beta.

    Objective-C und Cocoa Band 2: Fortgeschrittene
    Cocoa/Objective-C Seminare von [co coa:ding].
  • Hallo nochmal.

    wie macht ihr den eine neue Application mit 3 oder 4 Tab´s?
    Ich bekomme es einfach nicht hin.

    Wenn ich ein neues Projeckt anfange und dabei "Tab Bar Application" als Vorlage benutze, habe ich ja schon 2 Tabs mit denen ich umschalten kann wenn ich im Simulator bin.

    Jetzt möchte ich ja nur 2 Sachen wissen.

    1.

    Ich möchte gerne, der Übersicht halber, die erste Ansicht in einem eigenem .xib file haben.
    Dazu steht ja wenn man im IB ist in der Datei MainWindow.xib folgendes:

    "Optionally move this view into a separate nib file and set the nib name in the First View Controller Attributes."

    Wenn ich das mit meinen bescheidenen english übersetze bedeutet dies glaube ich:

    Optional bewege dieses View in ein seperates nib File und setze den nib Namen in den Eigenschaften des ersten View Controllers.

    Mit nib files denke ich sind hier die xib files gemeint.
    Doch jetzt fängt es schon. Ich kann zwar ein View von einem xib file das nicht das erste ist zu einem anderem das auch nicht das erste ist bewegen, nicht aber die View von der MainWindow.xib datei.

    Die Eigenschaften des ersten View Controllers auf das neue xib File zu setzen geht.

    Wie also macht ihr das?

    2. ( Und bei diesem Beispiel starte ich ein neues, sauberes Projeckt vom Typ "Tab Bar Application" weil ich dies erstmal einzelnt verstehen möchte.)

    Möchte ich gerne ein neues, drittes xib File anlegen und das über einen neuen hinzugefügten View Controller erreichen können. So das ich dann nicht nur zwischen 2 Ansichten hin und her schalten kann sonder zwischen 3.

    Im SeconView.xib steht dazu:

    "Loaded by the Second View Controller — an instance of UIViewController — specified in the View Controller Attributes in the Main Window nib file."

    Was wohl ungefähr soviel heißt wie:

    Wird von dem zweitem View Contoller geladen - einer Instanz fom UIViewController - festgelegt in den Eigenschaften des View Controllers in dem Haupt Fenster nib File.

    Wobei hier mit nib wohl auch wieder das xib (MainWindow.xib) File gemeint ist.

    Ich lege also ein neues xib File an das ich ThirdView.xib nenne und darauf ziehe ich zuerst eine Viev und dann ein Label dessen Text ich einfach "Third" umbenenne.
    Dann in der MainWindow.xib Datei füge ich ein neues Tab Bar Item in die Tab Bar indem ich die Tab Bar auswähle und dann in der Library doppelt auf Tab Bar Item klicke.
    Nun wähle ich in der MainWindow.xib Datei das neue Tab Bar Item aus indem ich einmal darauf klicke und wähle dann in dessen Eigenschaften bei "Nib Name" "ThirdView aus.

    Nun speichere ich alles und klicke auf Build und nachdem kein Fehler aufgetaucht ist auf Build and Go.
    Der Simulator öffnet sich und ich kann zwar mit den beiden ersten Tab Bar Items zwischen den View´s hin und her schalten doch wenn ich auf das neue, dritte Tab Bar Item klicke, bekomme ich eine Meldung vom Debugger die "__TERMINATED_DUE_TO_UNCAUGHT_EXCEPTION__" lautet.

    Wiedermal kein Erfolg.

    Ich denke das ich hier einfach etwas übersehe oder falsch verstanden habe.

    Ja, ich bin neu dabei doch ich habe inzwischen so einige Tutorials durch und bin wie gesagt auch fleißig beim lesen von Büchern zum Programmieren von Objective-C für Mac OS X. Ausserdem suche ich auch vorher in anderen Foren nach einer zu dem Problem bestehenden Lösung. Ich bemühe mich also sehr es selbst heraus zu bekommen oder die Lösung zu finden bevor ich euch nerve.

    Ich würde mich freuen wenn jemand von euch so nett ist und mir hilft!

    Vielen Dank!
  • Zunächst: Achte bitte ein wenig auf deine Formulierung und Rechtschreibung. Danke.

    zu 1.:

    - Öffne MainWindow.xib

    - Wähle den ersten Tab aus, sodass das erste View angezeigt wird, sodass "Optionally move this view into a separate nib file and set the nib name in the First View Controller Attributes." angezeigt wird.

    - Markiere das View indem du auf eine freie weiße Stelle klickst.

    - Lösche es. (Command + Backspace).

    - Klicke ein mal auf den ersten Tab - also auf den mit der Beschriftung "First".

    - Setze den Nib-Namen auf "FirstView". (Im Inspector - erster Tab).

    - In Xcode: File - New - iPhone - View.

    - Nenne die Datei "FirstView.xib".

    - Öffne die Datei im Interface Builder.

    - Klicke auf "File's Owner" - dann im Inspector letzter Tab - bei Class Name gibst du: UIViewController ein.

    - Verbinde das View Outlet des File's Owner mit dem View in der xib.

    - Zieh ein Label auf das View - beschrifte es mit "First View".

    - Im ersten Tab im Inspector bei Status Bar - Grey und bei Bottom Bar wählst du Tab Bar.

    Fertig.
    Die Objective-Cloud ist fertig wenn sie fertig ist. Beta heißt Beta.

    Objective-C und Cocoa Band 2: Fortgeschrittene
    Cocoa/Objective-C Seminare von [co coa:ding].
  • @Objcler
    Ok, bei dem Beispielprojekt fehlen Dateien um nicht unnötig viel Daten zu versenden.

    Wie bekomme ich das Projekt den nun wieder zum laufen?

    Ich habe gerade versucht ein Projekt zu erstellen das den gleichen Namen hat und auch vom Typ "Tab Bar Application" ist und dann das Beispielprojekt ebenso in den Ordner kopiert und einige Files mit den vom Beispielprojekt überschrieben aber das hat nicht funktioniert.

    Ebenso wäre es natürlich auch interessant wie ich ein Projekt versenden kann und Dinge die der Empfänger hat einfach weglasse um weniger versenden zu müssen.
  • Also bei mir hat das Projekt nach dem Download und Entpacken ohne Probleme mit dem iPhone-Simulator funktioniert. Das ZIP-Archiv hat keinen "build' Ordner enthalten. Das ist Absicht! Dadurch wird das ZIP-Archiv des Projektes deutlich kleiner. XCode erzeugt beim Übersetzen einen neuen "build" Ordner.
  • Original von ocstarter
    @Objcler

    Also vielen Dank nochmal!
    Ich habe zwar das Beispielprojekt nicht öffnen können aber anhand der Step by Step Anweisung habe ich dann einfach ein drittes xib File erstellt usw. und nun habe ich genau das was ich wollte.

    :D


    Meinen Anhang einfach runterladen - entpacken - die Xcode-Datei öffnen - Build & Go. Ich habe wie gesagt einen dritten ViewController schon hinzugefügt.
    Die Objective-Cloud ist fertig wenn sie fertig ist. Beta heißt Beta.

    Objective-C und Cocoa Band 2: Fortgeschrittene
    Cocoa/Objective-C Seminare von [co coa:ding].