单击状态栏时执行操作
Perform action when status bar is clicked
我见过像 Messenger 这样的流行应用对它们的状态栏做了一些处理。当你打电话给某人并退出应用程序时,会出现一个红色的状态栏。如果你点击它,你会回到应用程序。单击状态栏时,我一直在搜索执行操作。我不确定它是否涉及状态栏。不管怎样,如果你知道如何执行一个动作,能帮助我就好了:)我不想因为我太懒惰而只在这里发帖。实际上很难找到有关此的信息。
首先获取statusView
extension UIApplication {
var statusBarView: UIView? {
return value(forKey: "statusBar") as? UIView
}
}
为其添加手势
let tap = UITapGestureRecognizer(target: self, action: #selector(self.handleTap(_:)))
let stV = UIApplication.shared.statusBarView
stV?.addGestureRecognizer(tap)
stV?.isUserInteractionEnabled = true
///
@objc func handleTap(_ sender: UITapGestureRecognizer) {
print("status clicked")
}
状态栏是 iOS 平台的一部分,与您的应用无关。您唯一可以真正控制的是它的外观。您在不同情况下看到的 'different' 状态栏,例如当您正在进行 phone 通话时或当您的位置被跟踪时等,都是由 OS 本身驱动的。
如果您真的需要向状态栏添加一个动作,您最好在状态栏上使用 'fake' 透明视图并向其添加手势,而不是将其捕获为UIApplication 的子视图。这是 private API 用法的示例。苹果一直反对这种做法,甚至在某些情况下拒绝了应用程序。
我见过像 Messenger 这样的流行应用对它们的状态栏做了一些处理。当你打电话给某人并退出应用程序时,会出现一个红色的状态栏。如果你点击它,你会回到应用程序。单击状态栏时,我一直在搜索执行操作。我不确定它是否涉及状态栏。不管怎样,如果你知道如何执行一个动作,能帮助我就好了:)我不想因为我太懒惰而只在这里发帖。实际上很难找到有关此的信息。
首先获取statusView
extension UIApplication {
var statusBarView: UIView? {
return value(forKey: "statusBar") as? UIView
}
}
为其添加手势
let tap = UITapGestureRecognizer(target: self, action: #selector(self.handleTap(_:)))
let stV = UIApplication.shared.statusBarView
stV?.addGestureRecognizer(tap)
stV?.isUserInteractionEnabled = true
///
@objc func handleTap(_ sender: UITapGestureRecognizer) {
print("status clicked")
}
状态栏是 iOS 平台的一部分,与您的应用无关。您唯一可以真正控制的是它的外观。您在不同情况下看到的 'different' 状态栏,例如当您正在进行 phone 通话时或当您的位置被跟踪时等,都是由 OS 本身驱动的。
如果您真的需要向状态栏添加一个动作,您最好在状态栏上使用 'fake' 透明视图并向其添加手势,而不是将其捕获为UIApplication 的子视图。这是 private API 用法的示例。苹果一直反对这种做法,甚至在某些情况下拒绝了应用程序。