кнопка назад в веб-просмотре - PullRequest
1 голос
/ 13 сентября 2011

У меня есть UITableView, и когда элемент выбран, я загружаю WebView следующим образом:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    NSURL *url=[NSURL URLWithString:[[nameCatalog objectAtIndex:indexPath.row] valueForKey:@"url"]];
    [webView loadRequest:[NSURLRequest requestWithURL:url]];
    [self.view addSubview:webView];
    [webView setHidden:NO];
}

Я хочу реализовать BackButton, поэтому, когда я нахожусь в веб-просмотре, я могу вернуться к UITableView.

Итак, я сделал это:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    NSURL *url=[NSURL URLWithString:[[nameCatalog objectAtIndex:indexPath.row] valueForKey:@"url"]];
    [webView loadRequest:[NSURLRequest requestWithURL:url]];
    [self.view addSubview:webView];
    [webView setHidden:NO];
    UIBarButtonItem *infoButton = [[UIBarButtonItem alloc] 
                                   initWithTitle:@"Done" style:UIBarButtonItemStyleBordered target:self action:@selector(info_clicked:)];

    self.navigationItem.leftBarButtonItem = infoButton;
}

- (void) info_clicked:(id)sender {

    self.navigationItem.leftBarButtonItem = nil;
    [webView removeFromSuperView];
    }

Но при загрузке webview кнопка не появляется. !!!!! Пожалуйста, помогите!

Ответы [ 3 ]

1 голос
/ 13 сентября 2011

Для этого поместите веб-представление в другой контроллер представления и используйте

[self.navigationController pushViewController:webViewController animated:YES];

вместо

[self.view addSubview:webView];

1 голос
/ 13 сентября 2011

Возможно, потому что вы добавляете веб-представление как подпредставление, а не помещаете в стек другой viewController.

Также: кнопка «Назад» настраивается по названию контроллера вида. Чтобы изменить это на кнопку «Назад», вам нужно создать кнопку «Назад» в представлении, прежде чем оно будет нажато. У меня есть два примера:

BackButton.zip , который показывает, как настроена кнопка «Назад» в методе init контроллера представления.

LoadWebViewTable.zip , который показывает, как настроена кнопка возврата в методе awakeFromNib. Я думаю, что этот пример более точно соответствует вашему приложению.

Дело в том, что кнопка «Назад» настроена на вид, к которому она возвращается. Кроме того, в обоих примерах используются действия с нулевым таргетингом, поэтому вам даже не нужен обратный вызов для удаления представления из стека - он предоставляется бесплатно.

0 голосов
/ 18 сентября 2011

Может быть, вы должны сделать некоторые из этих вещей в вашем интерфейсе.Подключите табличное представление к своему коду.У вас есть кнопка в вашем интерфейсе, подключенная к IBAction, скрытая при запуске приложения, а затем, когда ваш пользователь щелкает ячейку табличного представления, показывает кнопку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...