ios - iOS,Swift:如何允许读者使用导航栏按钮项来调整WKWebView中的正文字体大小?-LMLPHP

问候。我正在尝试使用两个以编程方式创建的导航栏按钮项(上图中的较小和较大的“ A”),以允许读者在iPhone和iPad的应用程序中增大或减小WKWebView中显示的文本的大小。 iPad。

在视图控制器中,我具有以下导入语句:

导入UIKit

导入WebKit

在viewDidLoad中,我具有以下用于创建两个导航栏按钮图标的功能:

    let button1 = UIBarButtonItem(image: UIImage(named: "A_16x16"), style: .plain, target: self, action:#selector(decreaseFontSize))

    let button2 = UIBarButtonItem(image: UIImage(named: "A_28x28"), style: .plain, target: self, action:#selector(increaseFontSize))

    self.navigationItem.rightBarButtonItems = [button2, button1]


我还启动了以下功能:

    func decreaseFontSize(_ button:UIBarButtonItem!) {

    fontSize = (fontSize > 14) ? fontSize-6 : fontSize
    let fontSpecifier = "document.body.style.fontSize = '" + String(fontSize) + "px'"
    print("decrease font size button pressed")
    print(fontSpecifier)
    textWebView.evaluateJavaScript(fontSpecifier, completionHandler: nil)

}

func increaseFontSize(_ button:UIBarButtonItem!) {

    fontSize = (fontSize < 50) ? fontSize+6 : fontSize
    let fontSpecifier = "document.body.style.fontSize = '" + String(fontSize) + "px'"
    print("increase font size button pressed")
    print(fontSpecifier)
    //textWebView.evaluateJavaScript("document.body.style.fontSize = '40px'", completionHandler: nil)
    textWebView.evaluateJavaScript(fontSpecifier, completionHandler: nil)

}


HTML文本的CSS包括以下样式:

  body {
      color: black;
      background: white;
      font-size: 1.2em; /*20px; but use em */
      text-align: left;
      font-family: "MyCustomFont", sans-serif;
      margin-right: 8px;
      margin-left: 8px;
  }


这有些起作用,但是“ MyCustomFont”(或不带引号的MyCustomFont)将被忽略。我非常想显示自定义字体。

任何指导或建议的解决方案将不胜感激。

最佳答案

感谢Aditya Deshmane对Using custom fonts in WKWebView的回答,我将其放在CSS文件的顶部,并显示了自定义字体:

    @font-face {
        font-family: 'MyCustomFont';
        src: local('MyCustomFont'),url('MyCustomFont.ttf') format('truetype');
    }


这些图标似乎可以按照我的iPad mini 4的要求调整字体大小,但是在iPhone 6中“工作”有点不一致。由于存在空间,我尚未接受自己的答案作为“可接受的答案”。改善。

关于ios - iOS,Swift:如何允许读者使用导航栏按钮项来调整WKWebView中的正文字体大小?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44609194/

10-12 12:51
查看更多