Как загрузить HTML из редактируемой строки на Xcode для IOS?

0

Мне нужно загрузить HTML-код внутри моего приложения IOS, но мне нужно, чтобы он был редактируемым HTML, поэтому мой подход был следующим:

Я создал NSString с форматом, поэтому я мог бы создать String с кодом HTML в зависимости от некоторых переменных:

NSString * googleGraphCode = [NSString stringWithFormat: @"" <"html>" <"body>" <"div id = \"% @\">" <"/div>" <"тип скрипта = \"% @\"src= \"% @\"> google.load('visualization', '1.0', {'packages': ['corechart']}); google.setOnLoadCallback(drawChart); function drawChart() {var data = new google.visualization.DataTable();% @data.addRows([% @]); var options = {'title': '% @', 'width':% i, 'height':% i}; var chart = new google.visualization.PieChart(document.getElementById('% @')); chart.draw (данные, параметры);} "<"/script> "<"/body> "<"/html> ", chartID, javaScriptCall, AJAX_Api, javaScriptCall, столбцы, строки, заголовок, widht, height, chartID];

Затем я загрузил webView с помощью HTMLString:

[_graphHostView loadHTMLString:googleGraphCode baseURL:nil];

Я получаю код в NSLog, и я получаю следующее:

"<" html> "<" body> "<" div id = "chart_div"> "<"/div> "<" script type = "text/javascript" src= "https://www.google.com/jsapi ">" <"script type =" text/javascript "> google.load('visualization', '1.0', {'packages': ['corechart']}); google.setOnLoadCallback(DrawChart); function drawChart() {var data = new google.visualization.DataTable(); data.addColumn('string', 'Tipo'); data.addColumn('string', 'Tipo'); data.addColumn('string', 'CantidadGasto'); data.addColumn('string', 'CantidadGasto'); data.addRows([['Gastos', 30000], ['Ingresos', 50000]]); data.addRows([['Gastos', 30000], ['Ingresos', 50000]]); var options = {'title':'Su gráfica de balance:', 'width':320, 'height':300}; var options = {'title': 'Su gráfica de balance:', 'width': 320, 'height': 300}; var chart = new google.visualization.PieChart(document.getElementById('chart_div')); chart.draw (данные, параметры); } "<"/Скрипт> "<"/тело> "<"/html>

Но webView на устройстве ничего не показывает.

Примечание. Я использовал "<" перед html-кодом, поэтому Stackoverflow показывает его в вопросе, поэтому "<" html> = regular html beginning.

Теги:
string
xcode

1 ответ

0
Лучший ответ

loadHTMLString - это правильный способ загрузки webview html

Проблема может быть _graphHostView равна нулю, и из-за этого loadHTMLString не возникает.

Если вы создаете _graphHostView программно, возможно, он не имеет значения alloc/init и равен нулю

Проверить _graphHostView не ноль с помощью отладчика.

Пример рабочего html:

NSString *styledHTML = [NSString stringWithFormat:@"<html> \n"
                                "<head> \n"
                                "<style type=\"text/css\"> \n"
                                "body {font-family: \"%@\"; font-size: %@;\n"
                                "background-color:#EEEEEE;}\n"
                                "</style> \n"
                                "</head> \n"
                                "<body bgcolor =0xEEEEEE >%@</body> \n"
                                "</html>", @"Museo Sans", [NSNumber numberWithInt:12], helpResponse.Content];


[contentView loadHTMLString:styledHTML baseURL:nil];

NSString также может использовать избыточные кавычки ("")

Ещё вопросы

Сообщество Overcoder
Наверх
Меню