nba*_*man 6 xcode uikit ios swift
我想在用户按下任一音量按钮时执行一个操作,并在他们停止按下时执行另一个操作,类似于我可以通过覆盖touchesBegan()和touchesEnded.
我知道我可以在更改时列出音量级别,如下所示:
NotificationCenter.default.addObserver(self, selector: #selector(volumeChanged), name: NSNotification.Name(rawValue: "AVSystemController_SystemVolumeDidChangeNotification"), object: nil)
@objc func volumeChanged(notification: NSNotification) {
if let userInfo = notification.userInfo {
if let volumeChangeType = userInfo["AVSystemController_AudioVolumeChangeReasonNotificationParameter"] as? String {
// do something here, such as a switch based off of "volumeChangeType"
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,一旦用户完全调高或调低音量,就不再触发事件。此外,当用户停止按下按钮时不会触发任何事件。这是有道理的,因为我实际上是在听音量变化事件,而不是音量按钮按下事件。
有没有办法在 iOS 中收听物理按钮按下?
| 归档时间: |
|
| 查看次数: |
564 次 |
| 最近记录: |