У меня есть UIWebView
внутри UIScrollView
(scrollview содержит другой компонент)
Я попытался включить мультитач как на Interface Builder или ПРОГРАММНЫЕ на UIWebView
но он все еще не может увеличить для HTML, мне нужно обрабатывать как приближать на UIScrollView
и UIWebView
? Или что-то, что мне не нужно устанавливать?
objective-c
ios
cocoa-touch
uiwebview
zoom
calendarw
источник
источник
scalesPageToFit = YES
это работает, но это меняет размер вашего контента по умолчанию, посмотрите на мой ответ, это будет полезно для вас.Ответы:
Вы ДОЛЖНЫ установить scalePageToFit = YES для любого сжатия и масштабирования для работы в UIWebView.
источник
ОК, вам нужно сделать как выше, так и следующее. У меня был веб-вид на главном экране, и это не сработало.
<UIScrollViewDelegate>
в своем контроллере представления, перетащите делегат представления прокрутки в контроллер представления в Interface Builder и реализуйтеviewForZoomingInScrollView
метод. Это должно вернуть указатель на UIScrollView (вернуть myScrollView).источник
С помощью JavaScript вы можете контролировать уровень масштабирования, хотя найденное мною решение не выглядит гладким.
Скажем, у вас есть в
<head>
:Чтобы увеличить до 4x, и при этом позволить пользователю изменять масштаб, измените содержимое дважды:
Переключение ширины очень важно - в противном случае Mobile Safari будет иметь серьезные ошибки перерисовки (из-за чрезмерной оптимизации).
Вы не можете просто установить
initial-scale
снова - это игнорируется во второй раз.источник
Вам нужно реализовать метод viewForZoomingInScrollView в вашем контроллере, иначе масштабирование ничего не даст. (Я действительно не знаю, зачем это нужно, но вот и все.)
Для получения подробной информации см. Http://developer.apple.com/iphone/library/documentation/WindowsViews/Conceptual/UIScrollView_pg/ZoomZoom/ZoomZoom.html .
источник