[英]shouldStartLoadWithRequest delegate method never called
我正在創建一個具有網絡視圖的應用程序。 當用戶單擊Web視圖中的鏈接或按鈕時,我希望能夠獲取新的URL,並編輯新的URL。
shouldStartLoadWithRequest應該可以解決問題,但是當我單擊鏈接時永遠不會調用該方法。 我找不到為什么這行不通。
我讀過某處需要添加此行:
webView.delegate = (id)self;
我嘗試過,但仍然遇到相同的問題。 請幫忙
AppDelegate.m
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{
NSString *currentURL = [[request URL] absoluteString] ;
NSLog(@"Url: %@", currentURL);
return YES;
}
Controller.m或者
- (void)viewDidLoad
{
webView.delegate = (id)self;
NSString *tokenString = @"123";
[super viewDidLoad];
NSString *fullURL = [[NSString alloc] initWithFormat:@"http://192.168.1.69:8888/webapp/test.php?uid=%@", tokenString];
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
}
如果您的Controller
實例將自身添加為委托,則將永遠不會調用您添加到AppDelegate
實例的方法。
將shouldStartLoadWithRequest
方法移至Controller
類。
您已將視圖控制器設置為Web視圖的委托。 但是,您已經在應用程序的委托中實現了UIWebView委托方法。
嘗試在視圖控制器中實現該委托方法。 您的視圖控制器是您的Web視圖的委托。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.