1

我在第一个视图控制器中有一个 uiwebview,我在第二个视图控制器上有一个 uibutton,当我单击 uibutton 时,我正在更改加载请求。问题是,网址已更改,但 webview 没有重新加载。

第一视图控制器

 -(void)viewDidLoad
{
    a=@"http://www.google.com";
   [self loadWebview];
}
-(void)loadWebview
{
       a=[[NSUserDefaults standardUserDefaults]objectForKey:@"key"];
        NSLog(@"current URL:%@",a);
       self.myweb.delegate=self;
       [self.myweb loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:a]]];
 }

  - (IBAction)goSecond:(id)sender 
  {  
         SecondViewController *vv=[[SecondViewController alloc]init]; 
         [self.navigationController pushViewController:vv animated:YES];
  }

第二视图控制器

- (IBAction)goFirst:(id)sender {

      NSString* b=@"http://www.apple.com";
     [[NSUserDefaults standardUserDefaults] setObject:b forKey:@"key"];    
      FirstViewController *vv=[[FirstViewController alloc]init]; 
      [vv loadWebview];
      [self.navigationController popViewControllerAnimated:YES];


 }

Result is:
 current URL:http://www.google.com
 current URL:http://www.apple.com

但是 webview 没有加载,我想加载 www.apple.com.Thanks 提前

4

3 回答 3

0

您在按钮 click.write 上弹出视图。所以在第一个视图控制器上编写loadWebViewviewWillAppear 而不是 viewWillLoad 的方法。在 secondController 为什么要分配一个新的控制器对象并弹出前一个视图控制器。不需要分配和加载。只需弹出视图。

于 2013-09-05T09:33:59.610 回答
0
first of all you pass ur link two another view controller//


your first view coding like this
- (IBAction)goFirst:(id)sender 
{
    secondview *video=[[secondview
  alloc] initWithNibName:@"secondview" bundle:nil];
    video.videourl=@"http://www.google.com";
    [self.navigationController pushViewController:video animated:YES];
    [video release];
}

secondview controller

in .h file
 NSString *videourl;
@property(nonatomic,retain) NSString *videourl;
in .m file
@synthesize videourl;
 -(void)viewDidLoad
{
   [self loadWebview];
}
-(void)loadWebview
{
    NSString *urlAddress = videourl;

    //Create a URL object.
    NSURL *url = [NSURL URLWithString:urlAddress];

    //URL Requst Object
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

    //Load the request in the UIWebView.
    [_youtube_web(your webview object) loadRequest:requestObj];

}
于 2013-09-05T05:25:20.513 回答
0

您在第二个视图控制器中并调用加载第一个视图控制器的方法。WebView 作为第一个视图控制器的子视图。所以您需要推送您的第一个视图控制器才能看到效果。在第二个视图控制器中您看不到什么发生在你的第一次。

于 2013-09-05T04:57:49.647 回答