我正在尝试通过制作一个简单的应用来学习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
答案 0 :(得分:0)
好吧,你已经设计并编码了firstViewController,现在你要创建一个UIWebView
绑定在IB
自身的secondViewController,它也有一个setter NSString
变量在推送或呈现secondViewController时需要传递的strUrl
,并将其分配给secondViewController的UIWebView
中的viewDidLoad
。 See 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];
}