WatchKit支持html吗?有没有像UIWebview这样的控制器?
我的客户想要在 Apple Watch 中显示网页。 这可能吗?
WatchKit
中没有UIWebView
(既没有WatchOS 1
也没有WatchOS 2
)。
但是,完全可以解决此问题:
您可以加载HTML
,挑选出相关内容,并将其显示在例如Label
中。然而,这不是一个明智的解决方案,因为网站所有者可以更改其布局并使您的应用程序无用,直到您更新它。
我的建议是向服务器发送一个GET
请求,如果他们有API
,则以JSON
格式接收相关数据。如果他们不这样做,您可以使用和服等服务将网站转换为API
。
或者您可以设置自己的服务器,该服务器用作API
。您只需向它发送请求,它就会查询网站/加载HTML
,并将相关内容返回到您的应用程序。
无论如何,解决方案是从网站获取相关内容并使用标签和图像视图显示该内容。
似乎 WatchOS5 添加了对 WebKit 的有限支持:
- 如何在watchOS 5上使用WebKit?
- https://developer.apple.com/videos/play/wwdc2018/239
watchKit 中没有 webView,但我设法将 HTML 转换为格式化字符串
func convertHTMLToFormattedText ( htmlText : String , myLabel : WKInterfaceLabel) {
let attributeText: NSAttributedString?
if let htmlData = htmlText.dataUsingEncoding(NSUnicodeStringEncoding) {
do {
attributeText = try NSAttributedString(data: htmlData , options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType], documentAttributes: nil)
myLabel.setAttributedText(attributeText)
}catch let e as NSError {
print("Couldn't translate (htmlText): (e.localizedDescription) ")
}
}
}
No.WatchKit中没有类似UIWebView
的东西。