UIWebView не будет загружать новый URL - PullRequest
4 голосов
/ 10 марта 2011

У меня есть UITableView, который отображает имена людей независимо от того, какой отдел выбран.Когда вы затем выбираете человека в TableView, он загружает страницу сведений с метками со всей их контактной информацией;затем внизу он загружает их веб-сайт в меньшем UIWebView.

Если вы выбираете человека, просматриваете его информацию, возвращаетесь назад, затем выбираете другого человека в том же отделе, UIWebView не перезагружает веб-сайт нового выбранного человека, он остается на сайте человека, который был первымвыбран.

Я пытался всю ночь заставить это работать;Я уверен, что это что-то простое.

Я попытался установить для webView значение nil и освободить его в viewDidDisappear и viewWillDisappear (те, которые вызываются, когда вы возвращаетесь к списку людей после просмотра одного).

Iустановите это как UINavigationController.

Все метки для выбранного человека обновляются для выбранного человека, но UIWebView просто не хочет перезагружаться.Любая помощь приветствуется !!

РЕДАКТИРОВАТЬ Извините, я забыл добавить код, было слишком поздно, когда я опубликовал этот лол.Но здесь, где обновляются все мои ярлыки и прочее (я убрал эти строки, чтобы очистить их здесь).

-(void)viewWillAppear:(BOOL)animated
{
    NSLog(@"willAppear");
    [[self navigationItem] setTitle:[selectedPerson professorLName]];

url = [[NSURL alloc] initWithString:[selectedPerson departmentWebsite]];
NSLog(@"%@", url);
req = [[NSURLRequest alloc] initWithURL:url];
[webView loadRequest:req];
webView.scalesPageToFit = YES;

}

- (void)viewWillDisappear:(BOOL)animated
{
    NSLog(@"willDis");
    [super viewWillDisappear:animated];
    [webView release];
    webView = nil;
url = nil;
}

- (void)viewDidDisappear:(BOOL)animated 
{
    NSLog(@"didDisappear");
    [super viewDidDisappear:animated];
    [webView release];
    webView = nil;
    url = nil;
}

Ответы [ 2 ]

2 голосов
/ 11 марта 2011

Удалите ваш код в viewWillDisappear и viewDidDisappear и попробуйте это:

-(void) viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:selectedPerson.departmentWebsite]]];
}

Имейте в виду, что если вы введете это в -viewWillAppear, страница будет перезагружаться при переключении вкладок (если у вас есть) или когда приложение выходит на первый план.По этой причине я предпочитаю загружать URL, когда нажимаю контроллер подробного просмотра:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
        SimpleWebViewController* detailViewController = [[SimpleWebViewController alloc] initWithNibName:@"SimpleWebView" bundle:nil];
        [self.navigationController pushViewController:detailViewController animated:YES];
        [detailViewController.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
        [detailViewController release];
    }
}

Надеюсь, это поможет!

0 голосов
/ 10 марта 2011

плевать URL на вашу консоль. Похоже, вы передаете тот же URL.
но да, fluchtpunkt прав, давайте посмотрим ваш код.

...