wkwebview页面滑动异常
解决刘海屏上,整个窗口在滑动,内容区域也能滑动的异常,html设置如下:
1<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover" />
viewport-fit=cover:这是用于适配 iPhone X 及以后机型的刘海屏的设置。viewport-fit=cover 指示浏览器网页内容应该完全覆盖设备的屏幕区域,包括刘海区域或圆角区域。这可用于确保布局利用了全部的可展示空间,不被设备的特殊屏幕特性(比如刘海或圆鱼)切断。
iOS方向控制
1、工程中Plist、AppDelegate、TabbarController、NavigationController、ViewController这些都可以控制方向,它们之间有什么关联?
当屏幕发生旋转的时候(前提是系统的方向控制开关打开),系统是最开始询问App的plist配置,如果配置只支持一个方向就不会向下询问了。如果支持多个方向会询问window的delegate,同样如果代理方法里面只支持一个方向就不会向下询问。如果代理方法里面支持多个方向window会去询问RootController比如TabbarController。到了Controller这一级,如果不主动询问下一级的方向,下一级的控制是会被忽略的。
2、工程中Plist只支持一个方向,比如Portrait,但是通过手动设置UIDevice.current.setValue(UIInterfaceOrientation.landscapeRight.rawValue, forKey: "orientation")屏幕方向会变化吗?
会变化,这个方法是打破规范的一个非公开 API方法。会突破pl ...
iOS上给web环境传文件
场景:web中js通过messagehandler,调用原生方法录音,录音完成之后把文件给到前端环境,前端再做上传或者别的处理。
印象中都是base64传,前端环境下是访问不到本地沙盒路径的。然后搜索了一下,居然可以,代码如下:
12345678910111213141516...// 初始化webview设置configuration.preferences.setValue(true, forKey: "allowFileAccessFromFileURLs")......let tempDirectoryURL = URL(fileURLWithPath: NSTemporaryDirectory(), isDirectory: true)let fileURL = tempDirectoryURL.appendingPathComponent(audioUrl.lastPathComponent)webView.loadFileURL(fileURL, allowingReadAccessTo: tempDirectoryURL)let js = Strin ...