Задать вопрос

IPhone разработка, UIWebView?

В Safari для iPhone, если сделать лонг-тач на ссылку, то появиться ActionSheet с кнопками — «Открыть», «Копировать», «На новой странице».


Если в UIWebView сдлеать лонг-тач на ссылку, то появиться только «Открыть», «Копировать».

Вопрос: как сделать в UIWebView поведение как в Safari? К примеру, добавить кнопку «На новой странице» ?
  • Вопрос задан
  • 3993 просмотра
Подписаться 4 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
Flanker_4
@Flanker_4
Первое, что пришло в голову:

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

Дальше при зажатии на ссылку пользователем Вы получаете сообщение о срабатывании этого события. Устанавливаете флаг, что пользователь использовал событие longpress. После отпускания пальца Вы получите событие.
— (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

Отменяете открытие ссылки (т.е. возвращаете return NO;)
А сами в это время выводите попап с предожением действий. Единственный проблема — это определение места, где надо вывести попап, но могу предположить, что позиция ссылки определяется с помощью js
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы