как увеличить размер шрифта в UIWebView

как увеличить или уменьшить размер шрифта UIWebview, не используя scalePageToFit: НЕТ;

У меня есть две кнопки – A- и A +

@interface NSUInteger textFontSize; - (IBAction)changeTextFontSize:(id)sender { switch ([sender tag]) { case 1: // A- textFontSize = (textFontSize > 50) ? textFontSize -5 : textFontSize; break; case 2: // A+ textFontSize = (textFontSize < 160) ? textFontSize +5 : textFontSize; break; } NSString *jsString = [[NSString alloc] initWithFormat:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '%d%%'", textFontSize]; [web stringByEvaluatingJavaScriptFromString:jsString]; [jsString release]; } 
 - (void)webViewDidFinishLoad:(UIWebView *)webView { NSString *[email protected]"143"; NSString *jsString = [[NSString alloc] initWithFormat:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '%d%%'",[fontSize intValue]]; [myWebview stringByEvaluatingJavaScriptFromString:jsString]; } 

В настоящее время нет открытого способа прямого манипулирования DOM в UIWebView и каких-либо удобных методов для обработки таких вещей, как размер шрифта. Я предлагаю подать радары .

Было сказано, что. вы можете resize шрифта, изменив CSS, как и любую другую веб-страницу. Если это невозможно (вы не контролируете контент), вы можете написать небольшую функцию javascript для изменения свойств CSS на страницах DOM и выполнить ее, вызвав:

 - (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script; 

Swift 3

 public func webViewDidFinishLoad(_ webView: UIWebView) { let textSize: Int = 300 webView.stringByEvaluatingJavaScript(from: "document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '\(textSize)%%'") } 

Старые Свифт :

 func webViewDidFinishLoad(webView: UIWebView) { let textSize: Int = 300 webView.stringByEvaluatingJavaScriptFromString("document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '\(textSize)%%'") } 

Попробуйте приведенный ниже код:

 NSString *setTextSizeRule = [NSString stringWithFormat:@"addCSSRule('body', '-webkit-text-size-adjust: %d%%;')",currentTextSize]; [_webview stringByEvaluatingJavaScriptFromString:setTextSizeRule]; 

Здесь я могу resize и цвет шрифта в UIWebView:

  NSString *[email protected]"Hello World!"; int textFontSize=2; NSString *myHTML=[NSString stringWithFormat: @"",myString,textFontSize]; [myWebView loadHTMLString:myHTML baseURL:nil]; 

Попробуйте этот простой метод

 - (void)webViewDidFinishLoad:(UIWebView *)webView { int fontValue = 150; NSString *webviewFontSize = [NSString stringWithFormat:@"addCSSRule('body', '-webkit-text-size-adjust: %d%%;')",fontValue]; [your_webview stringByEvaluatingJavaScriptFromString:webviewFontSize]; } 

Измените размер шрифта выбранных данных HTML, изменив размер шрифта в выбранной строке html на необходимый размер шрифта (40 в этом примере) в методе.

 strHtml = [self htmlEntityDecode:strHtml];//parsing the html string -(NSString *)htmlEntityDecode:(NSString *)string { string = [string stringByReplacingOccurrencesOfString:@"14px;" withString:@"40"]; string = [string stringByReplacingOccurrencesOfString:@"15px;" withString:@"40"]; string = [string stringByReplacingOccurrencesOfString:@"16px;" withString:@"40"]; string = [string stringByReplacingOccurrencesOfString:@"17px;" withString:@"40"]; string = [string stringByReplacingOccurrencesOfString:@"18px;" withString:@"40"]; string = [string stringByReplacingOccurrencesOfString:@"19px;" withString:@"40"]; string = [string stringByReplacingOccurrencesOfString:@"20px;" withString:@"40"]; return string; } 

Таким образом, строка html: span style = ‘font-size: 20px; Становится: span style = ‘font-size: 40

Примечание: измените другие вхождения, такие как gt ;, apos; чтобы получить нужную строку для загрузки в вашем Webview.

в моем случае im, используя UISlider для fontSize, может быть любое значение float

 func webViewDidFinishLoad(_ webView: UIWebView) { if let fontSize: Float = (self.fontSizeSlider?.value) { webView.stringByEvaluatingJavaScript(from: "document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '\(fontSize)%%'") print(fontSize) } } 
  • Что такое двойная звезда (например, NSError **)?
  • MKAnnotation, простой пример
  • Странная проблема сравнения поплавков в объективе-C
  • drawRect не вызывается в моем подclassе UIImageView
  • Есть ли способ указать позицию / индекс аргумента в NSString stringWithFormat?
  • Получить значение RGB из пресетов UIColor
  • Перемещение фигуры Stick, опорных точек, анимации или чего-то еще ...?
  • Разбор даты JSON на IPhone
  • запись NSDictionary для plist в моем приложении
  • Как отсортировать NSMutableArray с помощью sortedArrayUsingDescriptors?
  • Сколько стоит разработка приложения для iPhone?
  • Давайте будем гением компьютера.