UITableView, который связывает ячейку с UIWebView NSURLRequest - PullRequest
0 голосов
/ 18 февраля 2011

Мой вопрос кажется достаточно простым, и все же я не смог найти пример для подражания.У меня есть UITableView со списком курсов, которые я хочу связать с их соответствующими URL.В списке 21 курс, и когда пользователь прокручивает список, он выбирает курс, который затем должен связать их с веб-страницей (с кнопкой «назад», чтобы вернуться в список).

Я нашел примеры, чтобы связать URL-адрес непосредственно с кнопки, но не из списка UITableView.Как вы можете связать ячейку в списке TableView с запросом NSURL, чтобы затем загрузить веб-страницу?

Любой, у кого есть ответ или ссылка на руководство, будет очень признателен.

Ответы [ 3 ]

1 голос
/ 18 февраля 2011

Проверьте методы делегата для UITableView:

http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UITableViewDelegate_Protocol/Reference/Reference.html

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

В вашем случае вы, вероятно, захотите нажать другой view-контроллер с веб-просмотром, когда пользователь касается ячейки, чтобы вы могли позволить пользователю вернуться к uitableview, когда он или она закончит.

0 голосов
/ 18 февраля 2011

Используйте стандартный шаблон «Приложение на основе навигации», чтобы у вас был контроллер навигации на месте.По умолчанию он настроен на использование контроллера табличного представления в качестве корневого контроллера представления, так что это хорошая отправная точка для вас.

Теперь создайте пользовательский подкласс контроллера представления, который включает UIWebView.Не забудьте создать IBOutlet для веб-просмотра и подключить его в Интерфейсном Разработчике.Пока вы находитесь в Интерфейсном Разработчике, выберите основной вид и скажите, что вы хотите панель навигации вверху.Дайте вашему контроллеру представления также свойство NSURL.В методе loadView для этого класса скажите UIWebView загрузить этот URL.

Теперь вернитесь к делегату контроллера табличного представления.В методе tableView:didSelectRowAtIndexPath: создайте автоматически выпущенный экземпляр своего пользовательского контроллера представления.Присвойте соответствующий URL только что настроенному свойству NSURL, затем поместите его в стек навигации с помощью [self.navigationController pushViewController:isAnimated:].

0 голосов
/ 18 февраля 2011

Создайте объект данных с именем Link с двумя переменными экземпляра, объектом URLRequest и строкой, которую вы хотите отобразить в ячейке таблицы.

При настройке 21 объекта создайте 21 объект Link и сохранитеих в массиве.

В вашем tableView: cellForRowAtIndexPath: метод вы установите строку со значением linkInsance.cellName.В вашем tableView: didSelectRowAtIndexPath: вы получите linkInstance.URLRequest и выполните его.

Вы получите экземпляры ссылок, получив объект по индексу в массиве с indexPath.row.

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