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

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

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


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

Вопрос: как сделать в UIWebView поведение как в Safari? К примеру, добавить кнопку «На новой странице» ?
  • Вопрос задан
  • 3994 просмотра
Подписаться 4 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    iOS-разработчик
    10 месяцев
    Далее
  • Нетология
    iOS-разработчик с нуля
    11 месяцев
    Далее
  • LearnQA
    Автоматизатор мобильных приложений
    9 недель
    Далее
Пригласить эксперта
Ответы на вопрос 1
Flanker_4
@Flanker_4
Первое, что пришло в голову:

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

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

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

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

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