iPhone UIWebView - Как установить уровень масштабирования и положение?

Я отображаю серию мозаичных изображений в UIWebView и хотел бы программно установить начальное масштабирование и расположение UIWebview.

Как это сделать?

5 ответов

Решение

ПРИМЕЧАНИЕ: этот ответ с 2009 года. Пожалуйста, посмотрите одно из лучших решений для более цивилизованного возраста.


Программная прокрутка UIScrollView теперь является решенной проблемой. У меня есть подробное обсуждение того, как (и почему) работает масштабирование UIScrollView, пример проекта и класс ZoomScrollView, который инкапсулирует требуемую магию масштабирования, на http://github.com/andreyvit/ScrollingMadness/.

Поэтому, вероятно, вы должны поместить свои изображения в UIScrollView, как советовал Энди.

Установите для атрибута scalePageToFit объекта UIWebView значение YES. Затем веб-страница масштабируется, чтобы соответствовать, и пользователь может увеличивать и уменьшать масштаб.

Вы можете использовать это:

for (UIView *subview in webView.subviews) {
    if ([subview isKindOfClass:[UIScrollView class]]) {
        ((UIScrollView *)subview).bounces = NO;
        [((UIScrollView *)subview) setZoomScale:10.5f animated:YES];
    }
}

Это может быть решением вашей проблемы.

for (id subview in webview)
    if ([[subview class] isSubclassOfClass: [UIScrollView class]])  {
         ((UIScrollView *)subview).bounces = NO;
     }
}

попробуйте использовать это прокрутка.

Не похоже, что есть документированный способ сделать то, что вы хотите. Альтернативой, которая только наполовину решает вашу проблему, является использование UIScrollView. Вы можете поместить UIImageViews в свой UIScrollView, а затем прокрутить до любой позиции в представлении прокрутки. Это не позволяет вам программно увеличивать изображение. Если это то, что вы думаете, следует добавить в файл SDK радар: http://bugreport.apple.com/

Другие вопросы по тегам