swift - WKWebView macOS 问题
问题描述
我在 macOS 应用程序中遇到两个 WKWebView 问题。我正在英特尔 iMac 上的 macOS Big Sur 11.2.3 中使用 Xcode 12.4 构建它。
第一个问题是 iframe 上的滚动条。有没有办法删除那些?
第二个问题是如果视图窗口改变大小时 iframe 的自动调整大小。
这是我的代码:
import Cocoa
import WebKit
class ViewController: NSViewController {
@IBOutlet weak var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
webView.configuration.preferences.setValue(true, forKey: "fullScreenEnabled")
webView.configuration.preferences.setValue(true, forKey: "allowsInlineMediaPlayback")
webView.allowsMagnification = true
webView.autoresizingMask = [.width, .height]
webView.pageZoom = 0.94
self.view.addSubview(webView)
webView.loadHTMLString("<iframe width=\"\(webView.frame.width)\" height=\"\(webView.frame.height)\" src=\"https://www.youtube.com/embed/ScMzIvxBSi4?&playsinline=1\" frameborder=\"0\" allowfullscreen></iframe>", baseURL: URL(string: "https://www.youtube.com"))
}
override var representedObject: Any? {
didSet {
// Update the view, if already loaded.
}
}
}
我找不到删除 iframe 滚动条的方法。我唯一的成功是将 pageZoom(如上)设置为 iframe 大小的 94%。我尝试通过 enclosureScrollView 删除滚动条,但它没有显示该视图的滚动条正在显示。看起来 iframe 有滚动条,因为当 pageZoom 减少到 94% 或更少时它们会消失。
对于第二个问题,我尝试使用 IB 设置约束,但这些似乎都没有帮助。在我看来,iframe 是控制大小而不是使用底层窗口调整大小的东西。
我怀疑我必须将 CSS 注入 iframe,因为我可以让 iframe 在浏览器窗口中自动调整大小,但我还没有弄清楚如何在 WKWebView 中做到这一点。
解决方案
推荐阅读
- powerbi - 超过 24 小时时将列类型转换为时间
- html - HTML - 分成 70% 和 30%
- android-studio - 如何在 Android Studio 中为 Kotlin Multiplatform 配置 iOS 应用程序?
- python - ModuleNotFoundError: No module named 'app' 如何解决?
- python - 如何通过 all_orm_descriptors 检查在 SQLAlchemy 中找到 AssociationProxy 声明的_attr 名称
- java - 如何使用 HotSpot JVM @DontInline 注解?
- python - 分离乐器并估计音符密度
- ios - 将填充/插图添加到 UIImage 作为 UITextField 的背景
- spring - 如何将可空布尔值与 Spring Boot 和 Thymeleaf 结合使用
- web - 当我的网站正在建设中时,Google AdSense 需要多长时间才能禁用?