问候。我正在尝试使用两个以编程方式创建的导航栏按钮项(上图中的较小和较大的“ 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/