多个UIButton打开相同的视图但内容不同

时间:2011-12-11 18:54:34

标签: iphone ios uiwebview uibutton xcode4.2

我正在寻找一种更快的方法来构建我的应用程序。因为我有一系列按钮,所以他们都打开一个UIWebView。但每个按钮都会进入不同的网站。

我可能知道我可能只制作一个xib文件吗?或者我应该为每个按钮创建一个新文件?

这是我转到下一个xib的代码。

- (IBAction)items:(id)sender {

        //toggle the correct view to be visible
        Chelseapic *myView1 =[[Chelseapic alloc] initWithNibName:nil bundle:nil];
        [myView1 setModalTransitionStyle:UIModalTransitionStylePartialCurl];
        [self presentModalViewController:myView1 animated:YES];
    }

这是在WebView xib中打开URL的代码。

- (void)viewDidLoad
{       
    [super viewDidLoad];
    NSString *urlAddress = @"http://www.google.com" ;
    NSURL *url = [NSURL URLWithString:urlAddress];
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
    [webView loadRequest:requestObj];
    [self.view addSubview:webView];

}

非常感谢

1 个答案:

答案 0 :(得分:1)

如果您有一组固定的按钮要在笔尖中布局,请尝试为每个按钮单独设置IBAction:

// helper method
- (void)presentViewControllerForURL:(NSURL *)url
{
    Chelseapic *vc = [[Chelseapic alloc] initWithNibName:nil bundle:nil];
    vc.url = url;
    [vc setModalTransitionStyle:UIModalTransitionStylePartialCurl];
    [self presentModalViewController:vc animated:YES];
}

// Connect the first button in your nib to this action.
- (IBAction)presentGoogle:(id)sender
{
    [self presentViewControllerForURL:[NSURL URLWithString:@"http://www.google.com/"]];
}

// Connect the second button in your nib to this action.
- (IBAction)presentStackOverflow:(id)sender
{
    [self presentViewControllerForURL:[NSURL URLWithString:@"http://stackoverflow.com/"]];
}

// etc.

您需要在Chelseapic中使用url viewDidLoad一个{{1}}属性,而不是在那里对网址进行硬编码。