Swift 刷新控制器中的声音
因此,我的UITableViewController中有标准的刷新控制器,它更新表视图中的数据Swift 刷新控制器中的声音,swift,tableview,uirefreshcontrol,Swift,Tableview,Uirefreshcontrol,因此,我的UITableViewController中有标准的刷新控制器,它更新表视图中的数据 lazy var refresher: UIRefreshControl = { let refreshControl = UIRefreshControl() refreshControl.tintColor = .lightGray refreshControl.addTarget(self, action: #selector(refresh), for: .value
lazy var refresher: UIRefreshControl = {
let refreshControl = UIRefreshControl()
refreshControl.tintColor = .lightGray
refreshControl.addTarget(self, action: #selector(refresh), for: .valueChanged)
return refreshControl
}()
@objc func refresh(){
getMethod()
self.tableView.reloadData()
let deadline = DispatchTime.now() + .milliseconds(500)
DispatchQueue.main.asyncAfter(deadline: deadline){
self.refresher.endRefreshing()
}
所以我想在用户刷新开始时添加声音,在刷新结束时添加声音。与Facebook或twitter应用程序相同。有可能做到吗?您可以通过这个简单的解决方案实现您的目标。首先在类中导入
AVFoundation
,然后将音频文件拖动到xcode,将其添加到项目中:
然后创建播放声音的方法(如果您的文件不是mp3,则更改类型的参数值):
最后,在刷新开始时调用该方法
@objc func refresh(){
playSound(soundFileName: "refresh-start")
getMethod()
self.tableView.reloadData()
let deadline = DispatchTime.now() + .milliseconds(500)
DispatchQueue.main.asyncAfter(deadline: deadline){
self.refresher.endRefreshing()
}
}
当刷新结束时。谢谢,效果很好!!没有意识到这有多容易。另一个问题。如果手机处于静默模式,如何使声音静音?@YessenYermukhanbet您是否尝试过在静默模式下的设备上运行此代码?我相信声音不会播放。是的,我也将它下载到我的设备上,并尝试将其更改为静音模式。然而,它仍然在播放这种声音。从网络上看,它似乎应该被静音,但奇怪的是,事实并非如此。
@objc func refresh(){
playSound(soundFileName: "refresh-start")
getMethod()
self.tableView.reloadData()
let deadline = DispatchTime.now() + .milliseconds(500)
DispatchQueue.main.asyncAfter(deadline: deadline){
self.refresher.endRefreshing()
}
}