Разработка iPhone – настройка шрифта UIWebView

Я должен показать богатый текст, который я вытаскиваю с сервера, поэтому я использую UIWebView. Теперь проблема в том, что я не контролирую шрифт, который используется в UIWebView. Как я могу изменить шрифт для использования системного шрифта (что согласуется с остальной частью приложения)?

Я делаю что-то вроде этого в данный момент:

myRichTextView = [[UIWebView alloc] initWithFrame:CGRectMake(x, y, width, height)]; myRichTextView.backgroundColor = [UIColor clearColor]; [myRichTextView setScalesPageToFit:NO]; [myRichTextView loadHTMLString:myString baseURL:[NSURL URLWithString:myBaseURL]]; 

Опять же, нужно контролировать шрифт дисплея. Если я не могу контролировать шрифт, пожалуйста, дайте мне знать другие альтернативы UIWebView.

благодаря

Ссылка на таблицу CSS в вашем документе HTML или поместить информацию о стиле в верхнюю часть самого документа HTML

Он работал, когда я модифицировал эту строку. Ваш правильный крис, это не должно иметь никакого значения.

 NSString *myDescriptionHTML = [NSString stringWithFormat:@" \n" " \n" " \n" " \n" "%@ \n" "", @"helvetica", [NSNumber numberWithInt:kFieldFontSize], content]; 

Я использую следующий CSS в веб-представлении, чтобы делать именно то, что вы говорите.

 body { font-family:helvetica; } 

Но ваш выглядит так, как будто он должен работать. Странный. Единственное отличие, которое я вижу, это шрифт vs font-family, но это не должно меняться.

Крис.

Системный шрифт

-apple-system на iOS 9 и Safari OS X 10

 font-family: -apple-system; font-family: '-apple-system','HelveticaNeue'; // iOS 8 compatible 

Я сделал метод, который обертывает какой-либо текст в тело HTML с правильным стилем для данного UIColor и UIFont . Он основан на ответе Мустафы .

Он используется следующим образом:

 NSString * htmlString = [MyClass htmlFromBodyString:@"an example" textFont:[UIFont systemFontOfSize:10] textColor:[UIColor grayColor]]; [webView loadHTMLString:htmlString baseURL:nil]; 

еще один простой способ, который работал для меня

  UIFont *font = [UIFont systemFontOfSize:15]; NSString *htmlString = [NSString stringWithFormat:@"%@", (int) font.pointSize, [bodyText stringWithNewLinesAsBRs]]; [myWebView loadHTMLString:htmlString baseURL:nil]; 

просто измените

font:helvetica

в

font-family:helvetica

я использую

 body { font-family: 'Noteworthy-Bold'; } 

Это отлично подходит для моей страницы (WebView), так как остальная часть моего приложения также использует «Примечательно-смелое» от Apple.

Если вы хотите использовать свой собственный шрифт, используйте @ font-face и обратитесь к файлу TTF или EOT.

Вот мое простое в использовании и легко расширяемое решение с более широкими настройками шрифта:

  myHTMLLabel = [[UIWebView alloc] initWithFrame:CGRectMake(myX,myY,myWidth,myHeight)]; myHTMLLabel.userInteractionEnabled=NO; myHTMLLabel.scalesPageToFit=NO; [myHTMLLabel setOpaque:NO]; myHTMLLabel.backgroundColor = myBackColor; NSString *myHTMLText = [NSString stringWithFormat:@"" "" " [text]"]; myHTMLText = [myHTMLText stringByReplacingOccurrencesOfString: @"[text]" withString: myText]; myHTMLText = [myHTMLText stringByReplacingOccurrencesOfString: @"[fontName]" withString: myFontName]; myHTMLText = [myHTMLText stringByReplacingOccurrencesOfString: @"[fontSize]" withString: myFontSize]; myHTMLText = [myHTMLText stringByReplacingOccurrencesOfString: @"[fontColor]" withString: myFontColorHex]; myHTMLText = [myHTMLText stringByReplacingOccurrencesOfString: @"[textAlign]" withString: myFontAlign]; NSLog(@"*** renderHTMLText --> myHTMLText: %@",myHTMLText); [myHTMLLabel loadHTMLString:myHTMLText baseURL:nil]; 
  • Переход на WKWebView
  • Клавиатура не отображается при нажатии текстового поля в UIWebView
  • Остановить UIWebView от «подпрыгивания» по вертикали?
  • Получить текущий URL-адрес UIWebView
  • iPhone UIWebview: как заставить цифровую клавиатуру? Является ли это возможным?
  • Удалить UIWebView Shadow?
  • Содержимое HTML соответствует UIWebview без масштабирования
  • UIWebView отправляет один и тот же User-Agent в заголовки запроса в качестве мобильного Safari?
  • UIWebView - Как определить последнее сообщение webViewDidFinishLoad?
  • iPhone Dev: UIWebView baseUrl для ресурсов в папке Documents not app bundle
  • Как вызвать метод Objective C из Javascript и отправить данные в Javascript в iOS?
  • Давайте будем гением компьютера.