0

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

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

我的主要 Storyboard 中有几个按钮,每个按钮的标题都是一些国家/地区代码,例如 UK、CA 和 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

4

2 回答 2

0

第一视图控制器.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];

}
于 2012-11-03T10:58:34.953 回答
0

好吧,您已经设计和编码了 firstViewController,现在您必须创建带有自身绑定的 secondViewController UIWebViewIB它还有一个 setterNSString变量strUrl,您需要在推送或呈现 secondViewController 时传递它,并将其分配给UIWebViewviewDidLoadsecondViewController 中。请参阅我关于如何通过的答案NSString还有UIWebView它的委托方法(什么是委托和数据源方法?-Apple Doc),您可以使用它来处理URL请求。

这些是delegateof UIWebView,如果您要使用它,您需要将UIWebView委托给self.

- (void)webViewDidStartLoad:(UIWebView *)webView;
- (void)webViewDidFinishLoad:(UIWebView *)webView;
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;
于 2012-11-03T10:51:43.893 回答