Открытие изображения в веб-представлении при нажатии на изображение в другом веб-представлении? - PullRequest
0 голосов
/ 05 мая 2011

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

Ответы [ 2 ]

0 голосов
/ 06 мая 2011

@ Йоги: Почему вы хотите иметь табличное представление поверх UIWebView, когда вы собираетесь отображать изображение в другом веб-представлении.Я полагаю, достаточно одного WebView.Кстати, вы можете реализовать то, что вы хотите, имея словарь для деталей изображения или, возможно, даже массив, который содержит URL для изображений.А в методе UITableViewDelegate

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

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

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Get the url for the image here
NSUrlRequest *urlRequest = [NSUrlRequest requestWithURL:urImageUrl];
[urWebView loadRequest:urlRequest];
}
0 голосов
/ 05 мая 2011

Реализация метода протокола UIWebViewDelegate shouldStartLoadWithRequest для вашего первого веб-просмотра, содержащего ваши маленькие изображения.

Когда пользователь щелкает ваше изображение, вам нужно перехватить это событие и решить, что и как делать.

Метод shouldStartLoadWithRequest вызывается, когда в веб-просмотре запускается какое-либо взаимодействие, например, при нажатии на ссылку.Обратитесь к документации UIWebView для более подробной информации.MustStartLoadWithRequest должен вернуть BOOL, чтобы указать веб-просмотру, что он должен продолжать выполнять действие, выполненное пользователем (вернуть YES) или нет (вернуть NO).

Теперь, когда вы знаете, что ссылка была нажата, у вас естьчтобы убедиться, что это был образ.Это делается путем оценки URL, переданного обратно параметром запроса.В этом примере я создал метод clickedOnImageWithUrl, который будет возвращать YES, если изображение было нажато.Однако я не знаю, как выглядят ваши маленькие изображения, встроенные в ссылку, я не могу предоставить более подробную информацию об этом методе.Если он возвращает YES, вы можете показать свой новый веб-просмотр.

Тогда код может выглядеть так, чтобы перехватить нажатую ссылку:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)aRequest navigationType:(UIWebViewNavigationType)navigationType
{
    if (navigationType == UIWebViewNavigationTypeLinkClicked) {
        // check if user clicked on your image...clickedOnImageWithUrl is made up
        if([self clickedOnImageWithUrl:[aRequest url]]) {

             // push new webview with image ...

             return NO;
        }            
    }

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