• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

Webview: URL von der Seite anzeigen

AppDev04

Gala
Registriert
19.10.14
Beiträge
48
Hallo

Ich programmiere gerade einen kleine App, dazu benötige ich die URL der aktuellen Seite die die Webview anzeigt, ähnlich wie bei einem Standardwebbrowser die URL-Leiste. Kennt jemand ein gutes Tutorial oder einen Ansatzweg um die zu bewerkstelligen?

Gruss
 

Buhmi

Osnabrücker Reinette
Registriert
21.11.09
Beiträge
977
Das dürfte nicht besonders schwierig sein. Der UIWebView hat ein request-Property. In diesem Request steht auch die aktuelle URL. Nun musst du noch wissen, wann sich diese URL ändert. Das wäre bspw. über das UIWebViewDelegate möglich. Hier gibt es die Methode webViewDidFinishLoad, die nach jedem Laden einer Seite aufgerufen wird. In dieser Methode könntest du dir aus dem Request die aktuelle URL holen und deine Anzeige aktualisieren.
 

AppDev04

Gala
Registriert
19.10.14
Beiträge
48
Momentan sieht es bei mir wie folgt aus. Hilf mir bitte auf die Sprünge mit dem Code...

Code:
#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController


- (void)viewDidLoad {
    [super viewDidLoad];
   
    NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
   
    NSURLRequest *myRequest = [NSURLRequest requestWithURL:url];
   
    [webview loadRequest:myRequest];
   
    [self webViewDidFinishLoad:webview];
}

- (void)webViewDidFinishLoad:(UIWebView *)webView{
    NSLog(@"Hier sollte die aktuelle URL stehen");
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
 

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
webViewDidFinishLoad: ist eine Delegate Methode. Die rufst du nicht selbst auf, sondern der WebView. Aber das auch nur, wenn das Delegate des WebView gesetzt ist. Beschäftige dich mal mit dem Thema Delegation.
 
  • Like
Reaktionen: AppDev04