Вполне возможно, что navigationController = nil
Так что, если это так, то вам нужно встроить контроллер вида в контроллер вида навигации.
В этом случае UINavigationContoller
должен быть вашим корневым контроллером представления. Пожалуйста, проверьте ваш корневой контроллер просмотра.
@ user289751, yalçın
хорошие друзья, как упомянул «Кристофер», слишком большое уменьшение масштаба - это не то, что хотел бы пользователь, потому что это уменьшит читаемость показанного контента ...
Скорее, я хотел бы предложить альтернативу ... лучше попробуйте установить элементы управления масштабированием ... Не знаю, будут ли они работать в 2.1 или нет ...
webview.getSettings().setBuiltInZoomControls(true);
надеюсь, что это решит вашу проблему ... потому что теперь вы предоставляете пользователю возможность изменять уровень масштабирования ...
Установите начальный масштаб на 1. Затем он увеличивает масштаб, чтобы заполнить экран. Не проверял, как это работает на действительно высоких веб-сайтах (например, в блогах с большим количеством комментариев), но он работает на Droid X и HTC Aria со стандартной веб-страницей.
WebView.setInitialScale(1);
Я продолжу тестирование на разных веб-страницах, но пока это лучшее решение, которое у меня есть для этой проблемы.
РЕДАКТИРОВАТЬ: Протестировано с непристойно длинной веб-страницей на Droid X и Aria и получило положительные результаты на обеих. Установка начального масштаба на 0, кажется, отключает все, в результате чего начальный масштаб равен 100. Я доволен этими результатами, надеюсь, это поможет другим, борющимся с этой проблемой.
webview.setInitialScale(number);
Чем выше «число», тем больше будет увеличено изображение на вашей странице. начать с меньших чисел (например, 10) и настроить по вкусу
Пытались ли вы просто позвонить WebView.zoomOut()
несколько раз, пока оно не вернет false
?
Также, я хотел бы отметить, что эта техника, которую вы хотите использовать, действительно полагается на то, что веб-страница довольно короткая. Если страница длинная и вы уменьшаете масштаб, чтобы она полностью помещалась на экране, пользователю понадобится очень хорошее зрение! ;)
.Я заставил это работать в диалоговом окне, используя WRAP_CONTENT для обоих измерений WebView, к сожалению, когда веб-страница становится слишком большой, веб-просмотр выталкивает все мои другие виджеты с экрана.
Система компоновки Android чертовски не интуитивна!
Вы также можете попробовать настроить алгоритм компоновки для того же самого. У меня это сработало
webview.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);