按下按钮并在另一个ViewController中打开一个URL

时间:2012-11-03 10:25:01

标签: iphone uiwebview nsurl viewcontroller

我正在尝试通过制作一个简单的应用来学习Xcode。 但我一直在网上看几个小时(天),我无法弄清楚如何在另一个ViewController中创建一个打开UIWebView的按钮:S

首先让我向您展示一些我准备好的代码:

我的主要故事板上有几个按钮,每个都是英国,加州和DK等国家代码的标题。

当我按下其中一个按钮时,我有一个像这样的IBAction:

- (IBAction)ButtonPressed:(UIButton *)sender {
// Google button pressed

NSURL* allURLS;

if([sender.titleLabel.text isEqualToString:@"DK"]) {

    // Create URL obj

    allURLS = [NSURL URLWithString:@"http://google.dk"];



}else if([sender.titleLabel.text isEqualToString:@"US"])

{

    allURLS = [NSURL URLWithString:@"http://google.com"];

}else if([sender.titleLabel.text isEqualToString:@"CA"])

{

    allURLS = [NSURL URLWithString:@"http://google.ca"];

}
NSURLRequest* req = [NSURLRequest requestWithURL:allURLS];

[myWebView loadRequest:req];

}

如何在名为myWebView的其他ViewController上创建这个开放的UIWebview?

请帮助一个失落的男人:D

2 个答案:

答案 0 :(得分:0)

好吧,你已经设计并编码了firstViewController,现在你要创建一个UIWebView绑定在IB自身的secondViewController,它也有一个setter NSString变量在推送或呈现secondViewController时需要传递的strUrl,并将其分配给secondViewController的UIWebView中的viewDidLoadSee my answer about how to pass a NSString?此外UIWebView还有其委托方法(What's delegate & datasource methods? - Apple Doc)您可以使用它来处理URL请求。

这些是delegate的{​​{1}},如果您要使用它,则需要UIWebView委托给UIWebView

self

答案 1 :(得分:0)

firstViewController.m

   - (IBAction)ButtonPressed:(UIButton *)sender {
    NSURL* allURLS;
    //get your URL
    secondViewControlelr *secondView=[[secondViewControlelr alloc]init];
    second.urlToLoad=allURLS;
    [self.navigationController pushViewController:secondView animated:YES];
    }

secondViewControlelr.h //声明url并设置属性

NSURL *urlToLoad;

secondViewControlelr.m

- (void)viewDidLoad
{
         myWebView=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 320, 460)];
         [self.view addSubview:myWebView];
          NSURLRequest *urlReq=[NSURLRequest requestWithURL:self.urlToLoad cachePolicy:NSURLCacheStorageNotAllowed timeoutInterval:10];
    [myWebView loadRequest:urlReq];

}