Domyślam się, że nie mogą już WKWebView
czcionek dostępu specyficzne dla aplikacji, ponieważ jest teraz w oddzielnym procesie (XPC).
Obejmuję to, dodając czcionkę z deklaracjami @font-face
w CSS. Szczegółowe informacje na temat MDN na ten temat można znaleźć w sekcji here.
Przykład:
@font-face
{
font-family: "MyFontFace";
src:url('url-to-font.ttf');
}
//And if you have a font with files with different variants, add this:
@font-face
{
font-family: "MyFontFace";
src:url('url-to-italic-variant.ttf');
font-style:italic;
}
Ale to będzie odwoływać się do lokalnego pliku, którego nie można zrobić WKWebView
(zakładam już odkrył to, bo jesteś ładowania ciąg HTML zamiast plik lokalny). Zgodnie z komentarzem na temat this question, udało mi się użyć GCDWebServer, aby mój lokalny plik HTML działał. W delegata aplikacji, po dodaniu odpowiednich plików do projektu zgodnie Wiki GCDWebServer w serwisie GitHub:
GCDWebServer *server = [[[GCDWebServer alloc]init]autorelease];
NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
[server addGETHandlerForBasePath:@"/"
directoryPath:bundlePath indexFilename:nil
cacheAge:0 allowRangeRequests:YES];
[server startWithPort:8080 bonjourName:nil];
Teraz można odwoływać plik HTML o nazwie test.html
w wiązce tak:
NSString *path = @"http://localhost:8080/test.html";
NSURL *url = [NSURL URLWithString:path];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[myWebView loadRequest:request];
Umieść wyżej wymienioną deklarację @font-face
w elemencie style
w pliku HTML (lub w ciągu HTML, jeśli naprawdę potrzebujesz załadować ciąg) i powinieneś być gotowy.
Jak to wygląda w systemie iOS 9? WKWebView w iOS 9 może teraz załadować pliki lokalne, czy jest również w stanie załadować czcionki? –