- 我们的产品中,点击用户头像会调用plus.nativeUI.actionSheet弹出一个操作头像的菜单列表,其中有一个是打开手机相机拍照、一个是打开手机相册选取图片的, 真机测试发现, 苹果4S点击actionSheet菜单之后,手机相机、相册都无反应,点第二次的时候直接返回device busy的错误,其他机型如苹果4,苹果5/5S/6/plus都没问题, 在4S里如果不使用actionSheet的方式,直接调用打开相机是没问题的, 我们推测是因为actionSheet点击之后会立即关闭弹出菜单即用的是nativeUI的方式来绘制的,会影响手机本地其他UI组件(比如相机\相册)的绘制展现.
- 基于推测,我们自己写了一个类似actionSheet的组件(就是打开一个webview),然后用这个view加载一个有菜单列表的页面, 再来模仿actionSheet的点击效果, 但是这里由于是我们自己开发的, 所以可以控制webview什么时候关闭, 因此我们特意改成先打开相机/相册, 等拍完/选完图片后再来关闭webview,这时候就一切正常了, 但是如果我们还是跟actionSheet一样点击之后马上关闭webview,即不特意在打开相机之后来关闭webview的话, 就会产生跟actionSheet一样的问题: 相机/相册界面无法正常绘制展现出来.
因此我们希望官方可以对actionSheet做一下改造, 提供可以自定义关闭actionSheet的方法,让我们开发者自己决定什么时候关闭。或者直接针对4S做一下测试研究出为什么会有这个问题从而解决它也是好的。
感谢HBuilder!产品非常棒!
2 个回复
scarlex
之前在 github 上面见过这个bug,不过好像还没回应
地址:https://github.com/dcloudio/mui/issues/57
DCloud_IOS_XTY
在群里找下我