2017-02-06 3 views
2

Я могу загрузить локальный файл HTML в мой WebView, как это (это работает отлично):Загрузить локальный файл CSS в Xamarin IOS WebView?

var fileName = "Views/Default.html"; 
var localHtmlUrl = Path.Combine(NSBundle.MainBundle.BundlePath, fileName); 
var url = new NSUrl(localHtmlUrl, false); 
var request = new NSUrlRequest(url); 
WebView.LoadRequest(request); 

Я хотел бы сослаться на CSS-файл (также локальная) в моем HTML-файле:

<link href="Content/style.css" rel="stylesheet"> 

Файл CSS существует внутри папки Content, для действия сборки установлено значение Содержимое для указанного файла.

Как я могу ссылаться/загружать файл CSS в вопрос через мой html-файл? Возможное?

ОБНОВЛЕНИЕ: Были ли css и html в отдельных папках. Поместите их в папку Content, а затем обновите hrefs, которые решили проблему при использовании LoadRequest.

ответ

3

Проверить ссылку https://developer.xamarin.com/recipes/ios/content_controls/web_view/load_local_content/

Раздел Дополнительная информация

Html генерируется в коде может также отображаться, которая полезна для настройки содержимого. Чтобы отобразить строку Html, используйте метод LoadHtmlString вместо LoadRequest. Проходя путь к Content каталог помогает веб-просмотра Resolve относительно Urls в HTML, такие как ссылки, изображения, CSS и т.д.

// assumes you've placed all your files in a Content folder inside your app 
string contentDirectoryPath = Path.Combine (NSBundle.MainBundle.BundlePath, "Content/"); 
string html = "<html><a href='Home.html'>Click me</a></html>"; 
webView.LoadHtmlString(html, new NSUrl(contentDirectoryPath, true)); 
+0

Правильный ответ, но лучше, если вы копируете вставить код здесь, в случае с ссылка будет нарушена в будущем – xleon

+0

обновлен ответ –

+0

Я видел это, но 'LoadHtmlString' берет строку. Должен ли я читать * все * мои html-файлы в виде строки только для этого метода? Честно говоря, похоже, что я что-то упускаю. – mxmissile

Смежные вопросы