Несколько UIButton открывают один и тот же вид, но разный контент - PullRequest
0 голосов
/ 11 декабря 2011

Я ищу более быстрый способ для создания моего приложения.Поскольку у меня есть ряд кнопок, они все собираются, чтобы открыть 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];
    }

И это код для открытия URL в xib WebView.

- (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 Ответ

1 голос
/ 11 декабря 2011

Если у вас есть фиксированный набор кнопок, которые вы хотите расположить в своем кончике, попробуйте сделать отдельный 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, вместо того, чтобы жестко задавать URL-адрес там.

...