可以在 MPMediaPickerController 中禁用搜索吗?
Posted
技术标签:
【中文标题】可以在 MPMediaPickerController 中禁用搜索吗?【英文标题】:Possible to disable Search in MPMediaPickerController? 【发布时间】:2015-08-22 23:02:24 【问题描述】:使用 MPMediaPickerController 的实例将歌曲作为背景音乐抓取到我正在制作的应用程序中。效果很好,但是每当使用 MediaPicker 中的搜索功能时,每次打开它都会导致其呈现滞后。 (延迟通过关闭/重新启动应用程序持续存在,只有重新启动手机才能将其删除)。每次显示 MediaPicker 时都会打印以下错误消息:
<MPRemoteMediaPickerController: 0x15c1fe00> timed out waiting for fence barrier from com.apple.MusicUIService
我可以滚动浏览/选择歌曲没问题,但是一旦输入搜索查询,演示期间的延迟就会开始。
呈现视图控制器的代码:
rootView?.presentViewController(picker, animated: true, completion: () -> Void in
picker = nil
)
rootView 是当前视图的(一个 SKScene)ViewController,我使用它来呈现 MPMediaPicker 并充当委托。无法绕过这个错误,所以很好奇是否可以完全删除搜索栏。
【问题讨论】:
【参考方案1】:所以很好奇是否可以完全删除搜索栏
根本不可能自定义 MPMediaPickerController。如果它正在做一些麻烦的事情,请提交错误报告。
不过,我有两个积极的建议:
将选择器的showsCloudItems
设置为false
。
听起来您只使用了 一个 媒体选择器控制器实例。不要那样做。每次召唤时都将实例重新创建为新的媒体选择器控制器。
【讨论】:
这令人沮丧,是的,我刚刚提交了一份。并感谢您的建议!但是已经使这两个都生效了。不显示云项,每次调用触发演示的方法时,我都会实例化一个新的选取器控制器。以上是关于可以在 MPMediaPickerController 中禁用搜索吗?的主要内容,如果未能解决你的问题,请参考以下文章