无法在 WebView 中更改 URL
Can't Change URL in WebView
我正在尝试在收到一个操作时从 webview 更改 url,该操作由以下方法处理。该方法有效,但 webview url 从未更改。
- (void)viewDidLoad {
[super viewDidLoad];
myWebView.delegate = self;
NSString *fullURL = @"http://cardapiomestre.com.br/beta";
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[myWebView loadRequest:requestObj];
}
方法:
-(void) setWebViewURL:(NSString*)url
{
NSString *urlAddress = url;
NSURL *essaUrl = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:essaUrl];
[self.myWebView loadRequest:requestObj];
}
来自 setWebViewURL 参数的 url 是一个有效的 URL。我什至尝试手动设置 url 但它没有用。
我在 AppDelegate.m 上调用它:
ViewController* myScript = [[ViewController alloc] init];
[myScript setWebViewURL:@"http://google.com"];
有什么建议吗?
谢谢
在 appDelegate 中,而不是做:
ViewController* myScript = [[ViewController alloc] init];
[myScript setWebViewURL:@"http://google.com"];
在这里您正在创建视图控制器的新实例,这样您的 webView 将为 nil,因此您看不到预期的结果。
您应该 post 在应用委托中发出通知:
[[NSNotificationCenter defaultCenter] postNotificationName:@"refreshWebView" object:nil];
并在您的 viewController 中收听此通知:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadWebView) name:@"refreshWebView" object:nil];
并在您的视图控制器中定义方法:
-(void)reloadWebView{
NSString *urlAddress = @"your-url";
NSURL *essaUrl = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:essaUrl];
[self.myWebView loadRequest:requestObj];
}
我正在尝试在收到一个操作时从 webview 更改 url,该操作由以下方法处理。该方法有效,但 webview url 从未更改。
- (void)viewDidLoad {
[super viewDidLoad];
myWebView.delegate = self;
NSString *fullURL = @"http://cardapiomestre.com.br/beta";
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[myWebView loadRequest:requestObj];
}
方法:
-(void) setWebViewURL:(NSString*)url
{
NSString *urlAddress = url;
NSURL *essaUrl = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:essaUrl];
[self.myWebView loadRequest:requestObj];
}
来自 setWebViewURL 参数的 url 是一个有效的 URL。我什至尝试手动设置 url 但它没有用。
我在 AppDelegate.m 上调用它:
ViewController* myScript = [[ViewController alloc] init];
[myScript setWebViewURL:@"http://google.com"];
有什么建议吗?
谢谢
在 appDelegate 中,而不是做:
ViewController* myScript = [[ViewController alloc] init];
[myScript setWebViewURL:@"http://google.com"];
在这里您正在创建视图控制器的新实例,这样您的 webView 将为 nil,因此您看不到预期的结果。
您应该 post 在应用委托中发出通知:
[[NSNotificationCenter defaultCenter] postNotificationName:@"refreshWebView" object:nil];
并在您的 viewController 中收听此通知:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadWebView) name:@"refreshWebView" object:nil];
并在您的视图控制器中定义方法:
-(void)reloadWebView{
NSString *urlAddress = @"your-url";
NSURL *essaUrl = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:essaUrl];
[self.myWebView loadRequest:requestObj];
}