Button navigiert zu UIWebView

  • Button navigiert zu UIWebView




    hi,

    ich wollte ein hauptmenü erstellen, indem sich mehrere buttons befinden, die jeweils auf ein uiwebview mit verschiedenen urls navigieren. Bis jetzt klappt es nur wenn ich für jeden Button ein eigenes UIWebView erstellt habe, da es aber ca. 20 buttons werden erscheint mir das zu umständlich gelöst. Ich hatte es mit diesem code für den button versucht aber das klappt überhaupt nicht^^. Er erkennt webPage gar nicht obwohl die header implementiert wurde. Ich geh aber generell davon aus das das ganze ganz anders geschrieben werden muss...

    Code for the button:

    - (IBAction) url1: (id)sender {

    [webPage loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.de"]]];

    }







    Der button müsste ja einfach nur die url von dem WebView zu der gewünschten verändern und dieses anzeigen. Es wäre somit eine Interaktion von dem Hauptmenüview zum webview. Kann mir jemand weiterhelfen?

  • Habe jetzt eine Funktion formuliert, die ein neues UIWebView erstellt.
    Gibt es da eine Möglichkeit den Zoommodus zu implementieren, denn eine klassische Ansicht des UIWebViews
    im Interfacebuilder hab ich ja somit nicht mehr.

    [code]- (IBAction)url1: (id)sender {




    NSString *urlAddress = @"http://www.google.de/";

    NSURL *url = [NSURL URLWithString:urlAddress];

    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

    UIWebView *webView = [[UIWebView alloc] init];

    self.view = webView;





    [webView loadRequest:requestObj];

    } /code]
  • DroneDeveloper schrieb:

    Grundlagen würden dir mehr helfen.
    Du hättest die Web View ja auch im IB belassen können und ein Outlet setzen können.
    Und wenn du bei Google UIWebView eingibst, führt das erste Ergebnis direkt zur Doku.
    Dazu bräuchte ich aber eine IBAction die mir die URl des WebViews ändert, sonst müsste ich für jeden link (ca. 20) stück ein neues View im IB erzeugen und das wär viel zu umständlich/unübersichtlich.

    ich war schon oft in der library ( developer.apple.com/library/ios/navigation/ ) aber wirklich übersichtlich finde ich das nicht....
    mir fällt es schwer da wichtige infos rauszufiltern
  • Wenn du in Xcode mit dem Cursor z.Bsp.: Auf "UIWebView" zeigst, die "ALT" Taste drückst und klick - und schon du bist direkt in der Apple-Doku im richtigen Teil !

    Bezieht sich auf Beitrag 5 !!!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ramo ()

  • DroneDeveloper schrieb:

    hä? gar nicht. IBOutlet und in deiner IBAction loadRequest aufrufen.
    ja, da hab ich allerdings das problem das er das IBOUtlet nicht erkennt.
    mein iboutlet (bsp *webPage) befindet sich ja in einer anderen Klasse, da das UIWebview das eine und das navigierende Hauptmenü,
    das andere View bilden. Obwohl ich die Klasse des Views des UIWebviews in die des Hauptmenüs implementiere, erkennt er bei der definition der IBAction das Outlet webPage nicht mehr, aber das muss ich ja aber ansprechen, um die ausgegebene URL zu ändern.
  • habe Probleme die eine Funktion vernünftig zu implementieren:

    -(void)loadWithURL: (NSString*)urlString

    {

    NSURL *url = [NSURL URLWithString:urlString];

    NSURLRequest *request = [[[NSURLRequest alloc] initWithURL:url]autorelease];

    WebViewController *webVC = [[[WebViewController alloc]initWithNibName:@"WebViewController" bundle:nil]autorelease];

    [self presentModalViewController:webVC animated:YES];

    [webVC.theWebView setDelegate:self];

    [webVC loadTheURL:request];

    }


    das neue xcode verwaltet ja den speicher automatisch, aber beim umformen kommen noch diverse Fehler^^






    -(void)loadWithURL: (NSString*)urlString

    {

    NSURL *url = [NSURL URLWithString:urlString]; "

    NSURLRequest *request = [NSURLRequest initWithURL:url]; FEHLERMELDUNG "NOT KNOWN CLASS METHOD

    WebViewController *webVC = [[WebViewController alloc]initWithNibName:@"WebViewController" bundle:nil];

    [self presentModalViewController:webVC animated:YES];

    [webVC.theWebView setDelegate:self];

    [webVC loadTheURL:request]; FEHLERMELDUNG "does not declare the class method loadTheURL"



    }





    alle headerdateien wurden importiert... scheint als fehlt en framework oä.?
  • n00b schrieb:

    das neue xcode verwaltet ja den speicher automatisch

    Nein, Xcode verwaltet Deine Projekte. Xcode hat mit der Speicherverwaltung Deines Programms nichts zu tun. Bei eingeschaltetem ARC fügt der Compiler beim Übersetzen Deines Codes den notwendigen Code zur Speicherverwaltung hinzu. Dafür benötigt der Compiler aber auch „Hinweise“ (z.B. durch Property Attribute wie strong oder weak) im Code, damit er weiß wie er das machen soll.

    Michael
  • Ich denke nach langem recherchieren und rumbasteln hab ich die Funktionen fast komplett implementiert.
    Ich bekomme allerdings noch 2 Warnungen:
    1. incomplete implementation, sollte wahrscheinlich irgendwo im m.file eine Kleinigkeit fehlen die in h. deklariert wurde.
    2.sending *const_strong* to parameter of incompatible type ‘id UIWebViewDelegate‘


    beim ausführen der Funktion kommt ein Fehler, der Debugger meint "Could not load NIB in bundle": ich denke das kommt daher, das der ursprüngliche code ohne storyboarding, also mit xib Files entstanden ist.



    -(void) loadWithURL: (NSString*)urlString {

    NSURL *url = [NSURL URLWithString:urlString];

    NSURLRequest *requestURL = [NSURLRequest requestWithURL:url];

    WebsitePDF *webVC = [[WebsitePDF alloc]initWithNibName:@"WebsitePDF" bundle:nil];
    [self presentModalViewController:webVC animated:YES];

    [webVC.webPagePdf setDelegate:self]; -----> Warnung 2.

    [webVC loadTheURL:requestURL];

    }

    weiß jemand weiter?