У меня странная проблема с моим UIWebView, он не принимает никаких изменений.iOS UIWebView не принимает изменение URL
Когда я запускаю приложение, он отлично загружает URL-адрес, методы делегирования запускаются так же, как и должно быть, НО UIWebView не принимает никаких действий после этого, например, скрывает его или изменяет его URL-адрес. Когда я вызываю [webView loadRequest:urlRequest];
, чтобы изменить текущий URL-адрес на другой, запущены методы делегирования, но WebView продолжает просматривать страницу OLD, без изменений (только индикатор показывает несколько секунд, а затем команды журнала в webViewDidStartLoad
ии shouldStartLoadWithRequest
отлично работают) ,
Вот сценарий ниже:
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"viewDidLoad");
NSString *urlString = @"http://old.example.com";
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
[webView loadRequest:urlRequest];
// For here, everything is fine, the WebView loads the OLD URL
webView.delegate = self;
webView.opaque = NO;
webView=[[UIWebView alloc]init];
[webView setBackgroundColor:[UIColor grayColor]];
[webView setDelegate:(id<UIWebViewDelegate>)self];
[self.view addSubview:webView];
activityIndicator = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
activityIndicator.frame = CGRectMake(200.0, 200.0, 100.0, 40.0);
activityIndicator.center = self.view.center;
[self.view addSubview: activityIndicator];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(loadNotificationUrl:)
name:@"loadNotificationUrl" object:nil];
}
-(void)loadNotificationUrl:(NSNotification*) notification
{
// Now the notification arrives holding the NEW URL
NSDictionary* userInfo = notification.userInfo;
NSString* NotificationUrl = (NSString*)userInfo[@"url"];
NSLog (@"Successfully received: %@", NotificationUrl); // it gets --> "http://new.example.com"
NSURL *url = [NSURL URLWithString:NotificationUrl];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
NSLog(@"Before Load: %@", [webView stringByEvaluatingJavaScriptFromString:@"window.location.href"]); // --> this is showing "about:blank"!!
[webView loadRequest:urlRequest]; // This works but doesn't change anything in the WebView! OLD page still showing.
}
Может кто-нибудь пожалуйста, скажите мне, что мне не хватает?
Вы сделали мой день человеком, спасибо! Для чего это? 'webView = [[UIWebView alloc] init];' – tinyCoder