Как отключить горизонтальную прокрутку UIWebview?

Я попытался отключить его, вставив:

<meta name="viewport" content="width=320" />

в мою строку HTML и десяток вариаций вышеизложенного в тщетной надежде, что я просто испортил синтаксис тегов... но ничто не останавливает прокрутку UIWebView по горизонтали. И все-таки есть приложения, которые это делают (например, MobileRSS), и, по-видимому, поскольку они не получили отказ, они не используют частные API.

Ответы

Ответ 1

Моя версия, общее решение:

- (void)webViewDidFinishLoad:(UIWebView *)webView {

[webView.scrollView setContentSize: CGSizeMake(webView.frame.size.width, webView.scrollView.contentSize.height)];

}

Ответ 2

В конечном итоге мне удалось это решить. Я уже пытался установить значение ширины видового экрана, и это не сработало. В работе DID используется переполнение: скрыто в сочетании с настройкой ширины окна просмотра. Спасибо, что ответили.

Ответ 3

Ваша веб-страница должна иметь два атрибута: 1 - метатег viewport и 2 - ширину 320 пикселей или меньше, включая margin и padding.

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

<!doctype html>
<html>
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=0" />
    <style>
        body {width:320px;margin:0;padding:0;}
    </style>
</head>
<body></body>
</html>

Ответ 4

если содержимое webView содержит слово, длина которого больше, чем webView. вам нужно сломать эту строку. поэтому используйте приведенный ниже код в div

word-wrap: break-word;

Ответ 5

<meta name="viewport" content="width=device-width, user-scalable=no initial-scale=1.0" />

Ответ 6

Установите делегат для UIWebview UIScrollview (на iOS5 на webview.scrollView и на iOS4, пройдя дерево подзаголовка и выбрав подтекст UIScrollview) для "self" и используйте следующий код:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
    [scrollView setContentOffset:CGPointMake(0, scrollView.contentOffset.y)];
}

Прекрасно работает, по какой-то причине мой HTML-код переполнялся горизонтально, без необходимости. Это исправить.