Merge pull request #53 from ok2/codex/fix-bugs-in-cobie-analog-clock-widget

Fix WKWebView setup in widget
This commit is contained in:
Kiyomichi Kosaka 2025-06-16 14:39:09 +02:00 committed by GitHub
commit 9256d5ecb7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -8,6 +8,11 @@
import WidgetKit
import SwiftUI
import WebKit
#if os(iOS) || os(tvOS)
import UIKit
#else
import AppKit
#endif
#if os(iOS) || os(tvOS)
typealias PlatformViewRepresentable = UIViewRepresentable
@ -26,9 +31,18 @@ struct HTMLClockView: PlatformViewRepresentable {
private func createWebView() -> WKWebView {
let webView = WKWebView()
#if os(iOS) || os(tvOS)
webView.isOpaque = false
webView.backgroundColor = .clear
webView.scrollView.isScrollEnabled = false
#else
webView.setValue(false, forKey: "drawsBackground")
webView.isOpaque = false
if let scrollView = webView.value(forKey: "scrollView") as? NSScrollView {
scrollView.hasVerticalScroller = false
scrollView.hasHorizontalScroller = false
}
#endif
if let url = Bundle.main.url(forResource: "analog-clock", withExtension: "html") {
webView.loadFileURL(url, allowingReadAccessTo: url.deletingLastPathComponent())
}