UIWebView изменить файл CSS в соответствии с выбранной темой - PullRequest
0 голосов
/ 30 марта 2012

Я программирую приложение, которое включает в себя несколько тем.Пользователь выбирает тему из настроек приложения и все изменения темы приложения.Но чего я не смог добиться, так это изменить локальные ctm-файлы htmls.

У меня есть несколько локальных файлов HTML.

HtmlFileA.htmlHtmlFileB.htmlHtmlFileC.html,,.

и css файлы

genericCssTheme1.cssgenericCssTheme2.css,,.

по каждой теме.

То, что я пытаюсь сделать, это изменить файл CSS в HTML, чтобы я мог подогнать свои цвета к новой выбранной теме.Я не хочу снова и снова создавать одни и те же HTML-файлы для каждой темы.Достаточно просто изменить ссылку на CSS, чтобы добиться того, чего я хочу.Вот как я загружаю свои htmls в UIWebView.

NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
[webView loadHTMLString:htmlString baseURL:baseURL];

Каждый HTML-файл ссылается на свой CSS таким же образом.Как это:

У меня действительно было решение, но я хотел спросить его, есть ли другой (эффективный) способ сделать это.Это то, что я придумал.Я собираюсь написать общую ссылку href в каждом html.

<link rel="stylesheet" type="text/css" href="genericcssfilename"/>

И перед загрузкой его в UIWebView я собираюсь заменить его реальным именем файла.

<link rel="stylesheet" type="text/css" href="genericCssTheme2.css"/>

Есть ли другой способ, которым вы можете мне предложить?

1 Ответ

0 голосов
/ 30 марта 2012

Может быть, вы можете использовать JS для выбора темы в webView?Не знаю, как добиться этого в JS (вы можете спросить на этом сайте), но это должно быть достаточно, чтобы просто позвонить

[webView stringbyevaluatingJavaScript:@"ChangeThemeTo(1)"]

и выполнить всю работу в webView без перезагрузки и воссоздания HTML.Ваша JS-функция должна быть добавлена ​​в ваш html как ссылка или что-то в этом роде (веб-программирование - это не мое умение)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...