我一直致力于iPhone / iPad设备的这个项目,在完成项目的iPhone部分后,我的灵感来自于改变iPad项目的风格。
我的情景:
我有一个视图,里面有UIButtons链接到网站。最初我计划这些按钮使用Push序列来打开单独的View,其中已经有一个UIWebView来打开网页。但后来我想也许我可以使用UIButtons在父视图中打开所需的网页。
我的问题:
是否可以使用UIButton加载网页,但是在与用于加载网页的UIButton相同的视图中的UIWebView中?
先谢谢大家,我认为这应该是可能的,但目前没有任何想法。
答案 0 :(得分:1)
当然可以(真的......为什么不呢?)。您只有一个UIView
,其中包含UIWebView
个和UIButton
个子视图。然后你可以做这样的事情:
// Suppose that self.mainView is the main container (and an IBOutlet)
// and self.webView is the UIWebView (also an IBOutlet)
// and of course your UIButtons (connected to IBActions)
-(IBAction)visitSiteA:(id)sender
{
NSString *urlAddress = @”http://www.siteA.com”;
//Create a URL object.
NSURL *url = [NSURL URLWithString:urlAddress];
//URL Request Object
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
//Load the request in the UIWebView.
[self.webView loadRequest:requestObj];
}
-(IBAction)visitSiteB:(id)sender
{
NSString *urlAddress = @”http://www.siteB.com”;
//Create a URL object.
NSURL *url = [NSURL URLWithString:urlAddress];
//URL Request Object
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
//Load the request in the UIWebView.
[self.webView loadRequest:requestObj];
}
现在,如果你不使用InterfaceBuilder,你可以在代码中构建你的webView和按钮,然后将它们添加到你的mainView。
最后,如果你计划有很多按钮,你可以通过将加载部分分解为一个单独的方法来优化代码,然后从你的IBActions中传递url。像这样:
-(void)loadUrlAddress:(NSString *)urlAddress
{
//Create a URL object.
NSURL *url = [NSURL URLWithString:urlAddress];
//URL Request Object
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
//Load the request in the UIWebView.
[self.webView loadRequest:requestObj];
}
-(IBAction)visitSiteA:(id)sender
{
[self loadUrlAddress:@"http://www.siteA.com"];
}