Отключение функции уменьшения масштаба в UIWebView - PullRequest
5 голосов
/ 09 марта 2012

Я новичок в разработке для iOS и разрабатываю приложение, которое покажет и веб-страницу в UIWebView.Я хочу избавиться от стандартных функций zoom-in и zoom-out webview.

Ответы [ 10 ]

25 голосов
/ 09 марта 2012

Это в документации Apple:

@property(nonatomic) BOOL scalesPageToFit
Discussion
If YES, the webpage is scaled to fit and the user can zoom in and zoom out. If NO, user zooming is disabled. The default value is NO.

Подход Interface Builder:

  1. Убедитесь, что «Масштабировать страницы по размеру»Снимите флажок в правом столбце конструктора интерфейса, когда вы нажимаете на свое веб-представление.Это прямо наверху.

  2. Вам также нужно снять галочку с надписью «Multiple Touch» примерно на полпути вниз.Это отключит сжатие для увеличения.

Подход кода:

Вы также можете сделать это программно с этим кодом:

webView.scalesPageToFit = NO;

Вы также захотите добавить:

webView.multipleTouchEnabled = NO;

Это отключит возможность сжимать и масштабировать, поскольку отключает возможность использовать несколько пальцев в действии, а для сжимания требуется дваочевидно!

6 голосов
/ 09 марта 2012

установите для свойства UIWebView scalePageToFit значение NO, отключит масштабирование пользователя

myWebView.scalesPageToFit = NO;
5 голосов
/ 30 июня 2012

Нужно просто сделать:

myWebView.scalesPageToFit = NO;

, а также отключить надоедливую щепотку для увеличения:

webView.multipleTouchEnabled = NO;

2 голосов
/ 04 августа 2016
UIScrollView *scrollView = [webView.subviews objectAtIndex:0];
scrollView.delegate = self;//self must be UIScrollViewDelegate

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
  return nil;
}

попробуйте это ... Это работает ..

1 голос
/ 23 января 2019

Отключить bouncesZoom scrollView решит вашу проблему. Попробуйте!

webView.scrollView.bouncesZoom = false
1 голос
/ 27 сентября 2018

Быстрое решение

Просто установите указанное выше значение в false: webView.scalesPageToFit = false

1 голос
/ 26 ноября 2015

Попробуйте это:

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
  return nil;
}
1 голос
/ 07 марта 2014

При наследовании от UIWebView вы можете реализовать. (Работает с iOS 5, ниже не уверен)

- (UIView *) viewForZoomingInScrollView:(UIScrollView *) scrollView
{
    return nil;
}
0 голосов
/ 03 ноября 2015

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

[[[theWebView subviews] lastObject] setScrollEnabled: NO];

здесь theWebView - это имя моего UIWebView. использовать этот код в функции webViewDidFinishLoad ,,, это действительно полезно для меня, ..

0 голосов
/ 03 сентября 2015

Чтобы добавить к ответам, это будет работать:

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