Подтвердить что ты не робот

Как установить смещение контента и размер содержимого в UIWebView

Мне пришлось изменить UIScrollView на UIWebView из-за причин форматирования.

Проблема заключается в том, что мне нужно иметь возможность вернуть содержимое обратно к 0, 0 (поскольку я использую повторно используемое UIWebView и меняя контент) и получить размер содержимого, чтобы я мог поместить кнопку на дно; но UIWebView похоже не имеет этого.

4b9b3361

Ответ 1

Лучший способ найти проблему -

  • Создайте UIWebView
  • Поместите его в UIScrollView
  • Добавьте в него HTML, используя "loadHTMLString"
  • Использование "- (void) webViewDidFinishLoad: (UIWebView *) webView {" метод делегата Я определяю размер UIWebView

  • Задайте кадр UIWebView для размера содержимого.

  • Удалить взаимодействие с UIWebView
  • Задайте размер содержимого UIScrollView для размера содержимого.

Затем использовалась функциональность UIScrollView вместо UIWebView.

Спасибо -JM

Ответ 2

Эта проблема может быть решена довольно легко:

[[webView scrollView] setContentInset:UIEdgeInsetsMake(64, 0, 44, 0)];

Помните, что UIEdgeInset отличается от CGRect!
Руководство по UIEdgeInset можно найти в iOS Developer Library.

Ответ 3

Использовать JavaScript.

Я думаю, что следующая строка должна сделать магию:

[webView stringByEvaluatingJavaScriptFromString:@"window.scroll(0,0)"];

Ответ 4

Теперь вы можете запросить свойство contentSize свойства scrollView для UIWebView. Это также позволяет изменить размер содержимого этого веб-представления, используя CGSizeMake (width, height).

Ответ 5

Как только вы получите UIScrollView, который находится внутри UIWebView, будет легко изменить ContentOffset и contentSize. Информация о том, как получить scrollView: ScrollOffset в UIWebView?

Ответ 6

Работает для меня

[[webView scrollView] setContentInset:UIEdgeInsetsMake(64, 0, 44, 0)];