1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Hilfe beim Erstellen/Planen einer simplen iPhone App

Dieses Thema im Forum "iOS-Developer" wurde erstellt von cut, 04.03.10.

  1. cut

    cut Boskop

    Dabei seit:
    23.12.07
    Beiträge:
    213
    Hallo, ich bin totaler Objective-C / iPhone Dev Anfänger und habe Probleme meine App richtig zu planen / umzusetzen, da mir anscheinend das grundlegende Verständnis fehlt...:-[
    Vielleicht kann mir hier jemand helfen, wenigstens, wie ich sie strukturieren muss.

    Eigentlich ist die App sehr einfach aufgebaut:

    Sie besteht aus 2 Ansichten:
    Einmal ein Fullscreen WebView und einer Fullscreen Videosstream Ansicht (könnte auch notfalls ein WebView sein).

    Die beiden Ansichten werden über eine Navigationsbar + Button gewechselt. Wichtig dabei ist (und das ist mein größtes Problem), dass die NavigationBar bei einem kurzen Touch auf den Screen ausblenden soll, bei einem Touch+Move ausgeblendet bleiben muss, und erst bei einem erneutem kurzen Touch einblenden darf.

    Das ist eigentlich alles, was in xcode geschrieben werden müsste (der Rest passiert im WebView über html5/js).

    Hier eine Interface Skizze:

    UIViewApp..jpg


    Ich habe die beiden Ansichten schon in IB zusammengeschustert (ViewBased Application: In IB im ViewController.xib zwei Views angelegt in dem einen View ein UIWebView + NavigationBar, wenn man die anklickt gibt's eine Transition zur anderen View und zurück). An sich klappt das auch, nur kann ich in ViewController keine Touches abfangen, so dass die NavigationsBar ausblendet. Deshalb hatte einen durchsichtigen View drüber gelegt, damit ich dort touchesBegan abfragen kann, aber dann überlagert dieser den UIWebView, so dass man diesen nicht mehr nutzen kann. Außerdem gehe ich davon aus, dass es ziemlicher Murks ist, wie es im Moment aufgebaut ist (in xcode hab ich alles in den ViewController geschrieben und denke, dass man wohl die einzelnen Views dort aufteilen müsste).

    Am liebsten würde ich auf IB komplett verzichten, da mich es komplett verwirrt, dass ich die Views nur dort habe, aber keinen Code in xcode. Aber alle Versuche es per Hand zu schreiben scheitern daran, dass ich offensichtlich keine Ahnung habe, was ich da tue. ;)
    Ich lese fleißig die Dokumentation auf developer.apple.com und diverse Bücher (iPhone in Action ist wirklich empfehlenswert), aber es wäre super wenn mir da jemand etwas helfen könnte. Oder wenn mir jemand ein gutes iPhone Dev Forum nennen könnte.

    Vielen Dank!
     
  2. below

    below Kalterer Böhmer

    Dabei seit:
    08.10.06
    Beiträge:
    2.865
    In diesem Fall würde ich den Navigation Bar selbst schreiben.

    Allerdings weiss ich nicht genau, was genau Deine Frage ist ;)

    Alex
     
  3. cut

    cut Boskop

    Dabei seit:
    23.12.07
    Beiträge:
    213
    Ja, was ist die Frage. Ich glaube mir fehlt einfach grundsätzlich das Verständnis, wie ich das richtig aufbaue. Wie gesagt, ich hatte eine View-based Application angefangen, in dem da vorgecodeten ViewController mit IB zwei Views angelegt, beide mit ner Navbar und der eine mit einem UIWebview verschachtelt (also einfach in IB den Webview auf den anderen View gezogen). Hab den kompletten Code dann im ViewController geschrieben. Aber das Problem war, dass ich zum einen dort (im ViewController) die NavigationBar nicht richtig verstecken konnte (nur objekt.hidden = YES, nicht mit [[self navigationController] setNavigationBarHidden:YES animated:NO], weils ja kein navigationController ist...). Das größere Problem war aber, dass ich ja die touches abfangen muss, aber touchesbegan in ViewController anscheinend nicht geht... und wenn ich die direkt in die views schreibe, werden die immer noch von der UIWebView überdeckt... Dann habe ich geschaut, ob man die touches da irgendwie durch den Webview durch gehen lassen kann, was wohl irgendwie geht, was ich aber nicht genau verstanden habe wie, besonders, da ich die Struktur des Programms nicht überblicke (wo liegt denn der WebView, den ich in IB in einen View, der im ViewController liegt geaddet habe)... Deswegen bräuchte ich einen Überblick, wie man so eine Applikation richtig aufbaut.

    Wieviele ViewController brauche ich für dieses Projekt? Für jeden View einen? Oder kann ich das mit einem machen?
    Muss ich die views dann irgendwie da als subview adden? Und wie umgehe ich das Problem mit dem UIWebView, welches halt die touches abfängt, die, wenn man auf das WebView toucht, ja nicht an den Webview, sondern an das NavigationsBar Element geschickt werden...
    Wie man sieht, die Verwirrung ist groß (und das Halbwissen ist noch größer)... Programmierer müsste man sein. ;)
     
  4. cut

    cut Boskop

    Dabei seit:
    23.12.07
    Beiträge:
    213
    Habe mich da noch etwas weiter durch gearbeitet...
    Die große Frage (um es etwas einzugrenzen) ist nun:

    Wie kann ich das mit dem Ausblenden der Navigation umsetzen?
    Ich habe hier 2 Links gefunden, die das Thema behandeln (WebView, Touches abfangen):

    http://stackoverflow.com/questions/...s-touches-through-to-and-display-all-subviews
    http://stackoverflow.com/questions/...es-events-on-a-mkmapview-or-uiwebview-objects

    Aber alle Lösungswege lassen dann kein Multitouch mehr zu, welches dringend notwendig ist.
    Gibt es da vielleicht eine andere Lösung (nicht mit durchreichen der Touchevents)? Kann doch eigentlich nicht sein, dass man, bei einer Webview einen Nagiationsbalken nicht ein und ausblenden kann... Weiß jemand was?
     

Diese Seite empfehlen