iOS13:如何检测状态栏点击事件?

2024-04-13

在我的 appDelegate 中,我覆盖touchesBegan检测何时单击状态栏:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    [super touchesBegan:touches withEvent:event];

    CGPoint location = [[[event allTouches] anyObject] locationInView:kWindow];
    CGRect statusBarFrame = [UIApplication sharedApplication].statusBarFrame;

    if (CGRectContainsPoint(statusBarFrame, location)) {
        ///do something 
    }
}

在 iOS 13 之前,这是可行的;在 iOS 13 上则不然。该方法永远不会被执行。我怎样才能解决这个问题?


经过一番研究,我发现状态栏在iOS13上不再是应用程序的一部分,而是系统UI的一部分(“跳板”)。您需要通过以下方式访问它UI状态栏管理器 https://developer.apple.com/documentation/uikit/uistatusbarmanager

所以这不再有效:

CGRect statusBarFrame = [UIApplication sharedApplication].statusBarFrame;

在iOS 13中,您需要像这样获取StatusBar框架:

UIStatusBarManager *manager = [UIApplication sharedApplication].keyWindow.windowScene.statusBarManager;
CGRect statusBarFrame = manager.statusBarFrame;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS13:如何检测状态栏点击事件? 的相关文章

  • ios7 navigationController PushViewController 动画错误

    看来我在 navigationController PushViewController 方法中发现了一个错误 为了重新创建它 我采用了示例主详细信息项目并对 didSelectRow method void tableView UITab
  • 错误域=AVFoundationErrorDomain代码=-11814“无法记录”

    它不断给我错误 错误域 AVFoundationErrorDomain代码 11814 无法记录 我不确定问题是什么 我试图在拍照后计数器达到 1 时录制声音 static int counter counter will always b
  • 推入 UINavigationController 时隐藏 FBFriendPickerViewController 导航栏

    介绍一个实例FBFriendPickerViewController using presentViewController animated completion 非常简单 该类似乎是针对该用例的 但是 我想推送一个实例FBFriendP
  • 关于窗口层次结构的警告

    我的调试器中出现这样的警告 这是什么意思 Warning Attempt to present
  • 在 Swift 中使用 CommonCrypto 解密时出现问题

    我在一家Swift only加密 解密Extension for String and NSData 并且 crypt 部分的工作基于 Zaph 在链接问题中提供的答案 在 Swift 中使用 CCCrypt CommonCrypt 时出现
  • iphone:如何停止快门动画?

    我有两个问题 1 我想知道如何在相机加载时停止快门动画 我正在使用 UIImagePickerController 我已经参考了堆栈溢出的许多答案 但没有成功 2 我在相机中有一个自定义按钮 使用cameraOverlayView并想通过单
  • 在 UIImage 顶部绘制透明圆圈 - iPhone SDK

    我在尝试找出如何在 UIImageView 中的 UIImage 顶部绘制透明圆圈时遇到了很多麻烦 谷歌给了我线索 但我仍然找不到有效的例子 有没有人知道的例子可以证明这一点 最简单的方法就是创建一个半透明的方形 UIView 然后将其图层
  • 我如何获取用户的电子邮件? iPhone SDK

    我需要获取 Mail app 中使用的用户的电子邮件地址 如何使用 iPhone SDK 做到这一点 谢谢你 简短的回答 你不能 如果需要 您应该提示用户输入电子邮件地址
  • 在不同的捆绑包上测试 iPhone 应用内购买?

    我们有一组 iPhone 应用程序的 Beta 测试人员 最近 我们在应用程序中添加了应用内购买功能 在此之前 我们会使用单独的捆绑 ID 和名称向 Beta 测试人员发送临时版本 以便他们可以在手机上拥有商店版本和临时版本 然而 似乎我们
  • Swift 闭包作为 AnyObject

    我尝试使用这个方法 class addMethod 在 Obj c 中使用如下 class addMethod self class selector eventHandler imp implementationWithBlock han
  • 是什么导致了这个 iPhone 崩溃日志?

    我有点卡住了 需要解决这个问题 因为我的一个应用程序出现了随机崩溃 而这些崩溃并不总是能够重现 这是崩溃日志之一 Incident Identifier 59865612 9F00 44EA 9474 2BF607AD662E CrashR
  • iOS中的performSelector有什么用

    的作用是什么执行选择器 比较 self btnClicked and self performSelector selector btnClicked void btnClicked NSLog Method Called 两者都对我来说工
  • iPhone 快照,包括键盘

    我正在寻找拍摄整个 iPhone 屏幕 包括键盘 的正确方法 我找到了一些截取屏幕的代码 CGRect screenCaptureRect UIScreen mainScreen bounds UIView viewWhereYouWant
  • 将 CALayer 旋转 90 度?

    如何旋转CALayer90度 我需要旋转所有内容 包括子图层和坐标系 Obj C theLayer transform CATransform3DMakeRotation 90 0 180 0 M PI 0 0 0 0 1 0 Swift
  • iPhone,如何隐藏标签栏按钮?

    如何隐藏单个标签栏按钮 我已经搜索过 但什么也没找到 只找到了完整的栏 我已经取得了一些进展 但仍然遇到问题 此代码位于我的应用程序委托中 带有选项卡栏的出口 我在其中调用它viewDidLoad选项卡栏中显示的第一个视图的视图 void
  • 如何消除禁用的 UIButton 的灰色外观

    我有一个 UIButton 我希望它处于禁用状态时与处于正常状态时看起来完全相同 现在它看起来有点灰色 不要使用enabled属性或setEnabled NO方法 而是使用 myButton setUserInteractionEnable
  • Objective-C 中 typedef 枚举语句在哪里?

    我担心的一个基本问题 以下代码有效 并且 typedef 枚举被识别 但我收到一条警告消息 空声明中无用的存储类说明符 我在这里做错了什么吗 这是放置 typedef 枚举的最佳位置吗 import
  • 在 cocoa touch 中以编程方式将视图位置设置为右上角

    我需要确保一个视图 A 尺寸 200x200 始终与第二个视图 B 全屏尺寸 内的右上角对齐 我想确保无论设备方向如何 视图 A 都保留在该位置 事实是 当使用界面生成器来定位视图时 我对此没有任何问题 但我需要以编程方式构建它 我想我应该
  • 如何连续关闭 2 个模态视图控制器?

    我有 2 个以模态方式呈现的视图控制器 A presents B which presents C 当我解雇C时 我也想解雇B 但我不知道该怎么做 解雇C self dismissModalViewControllerAnimated YE
  • Dropbox API - 使用 Dropbox 作为服务器

    我想使用文件共享服务器来使某些文件在多台计算机上的应用程序的多个实例中保持最新和恒定 例如 例如 编写多人游戏 它将所有玩家的位置存储在文本文件中 并使用 Dropbox 之类的工具在所有应用程序中保持文本文件不变 每个应用程序实例都可以根

随机推荐

  • 使用 awk 计算行的平均值

    我一直在编写一个脚本 通过读取 txt 文件的输入来计算行的平均值 示例文本输入文件输入 txt 157361 155687 156158 156830 149610 151824 152353 152027 159195 158490 1
  • ASP.Net双击问题

    我的 ASP net 页面有一个小问题 如果用户双击 提交 按钮 它将写入数据库两次 即在图像按钮上执行两次 onclick 方法 如何才能使用户单击图像按钮时仅禁用图像按钮 我试过了
  • NSPredicate 过滤 Realm 和 block 的区别

    我想知道 Realm 的查询性能 鉴于此代码 let result1 realm objects Person self filter age lt 30 AND AND let result2 realm objects Person s
  • 如何使用正则表达式匹配括号内的文本?

    我有以下模式 COMPANY 277 9887 ASP 277 9887 INC 我希望最终的输出是 公司 ASP INC 目前我有以下代码 它不断返回原始模式 我假设因为该组都落在第一个 和最后一个 之间 Pattern p Patter
  • C# 类 Java 的内联扩展?

    我会在 Google MSDN 上查找此内容 但我不知道它叫什么 所以我在这里询问 在 Java 中 我似乎记得你可以做这样非常酷的事情 例如 Class MyClass int number MyClass void setNumber
  • XCode 机器人错误:“内部时间序列后错误”

    我已经设置了新的 OSX Mavericks 服务器来通过机器人运行我的 iOS 项目的测试 虽然构建和运行测试以及一切都顺利进行 但实际的集成被报告为失败 在机器人日志文件末尾 以下错误多次出现 https Request XCBotSe
  • 还有其他访问相机的替代方法吗?

    除了使用 ActionScript 3 之外 还有其他方法来访问相机吗 import flash media Camera videoInstance attachCamera cameraInstance 或者我应该使用任何 API 吗
  • VBA 控件集合(数组?)

    在寻找一种在用户表单上模拟可填充网格的方法时 我遇到了这在 Excel 先生身上 https www mrexcel com board threads datagrid on vba userform 840043 site Dim Gr
  • 解决 CouchDB 中已删除文档的复制冲突

    官方文档推荐的解决复制冲突的方式是 使用文档阅读冲突的修订版本 conflicts字段 例如通过视图 获取列出的所有修订的文档 执行特定于应用程序的合并 删除不需要的修订 当我想合并的时候问题就来了deleted文件 他们没有出现在 con
  • Angular 6 如何获取两个位置 AGM 之间的距离

    I get 方向使用此参考在两点之间https www npmjs com package agm direction https www npmjs com package agm direction现在我想获取 计算distance在两
  • C# 和不同国家的当前当地时间

    C 提供了一种获取当前日期的方法DateTime Now 但问题是我的服务器在美国 当我使用时我得到美国时间DateTime Now 由于我的用户来自世界各地 有什么方法可以在 C 中获取特定国家 地区的当前当地时间吗 我有每个用户的区域设
  • 设置为 html 文档的背景

    有没有办法让我制作一个 HTML5 画布作为我正在制作的网页的背景 并将所有元素放在它上面 所以它的作用就像 我尝试使用 z index 执行此操作并将元素定位在顶部 但随后它们是可单击或可聚焦的 我需要它们仍然正常工作 但画布也只能在背景
  • 使用 PDFBox 将 FormXobject 内容从资源添加到内容流?

    我的 page1 gt Resource gt Xobjects gt Fm0 Fm1 Fm2 下有 FormXobject 所以它不是直接内容流 在内容 gt 内容流下不可用 所以我想将 Fm0 gt Contentstream 的内容流
  • Android Studio 1.3.1 和 Google Glass -- 创建新项目 |目标 Android 设备 |玻璃未安装

    当尝试在 Android Studio 1 3 1 Win 8 1 中创建新项目时 我无法选择 Glass 在 上目标 Android 设备 屏幕 Glass SDK 不可选 已禁用 并显示 Glass 未安装 但是 当我检查 SDK 管理
  • 如何避免来自mongodb的transparent_hugepage/defrag警告?

    我从 mongodb 收到以下关于 THP 的警告 2015 03 06T21 01 15 526 0800 I CONTROL initandlisten WARNING sys kernel mm transparent hugepag
  • Selenium C# 中的显式等待不起作用。怎么了?

    所以我遇到了显式等待的问题 我不想使用 Thread Sleep 这是一个简单的测试 它打开一个页面 然后后退和前进 加载此页面大约需要 2 3 秒 我想以动态方式执行此操作 测试 希望我不要太困惑 我做了很多研究 但没有任何作用 也许我做
  • Delphi从ios/Android本地存储打开PDF

    我尝试在移动设备上从本地存储打开 PDF 文件 我已将文件放入 iOS 的启动 文档 Android 的资产 内部 用这个代码 filename TPath Combine TPath GetDocumentsPath file pdf W
  • 记忆 SQL 查询

    假设我有一个运行 SQL 查询并返回数据帧的函数 import pandas io sql as psql import sqlalchemy query string select a from table def run my quer
  • Groovy 字符串连接

    当前代码 row column each column gt println column attributes name println column value Column is a Node具有单个属性和单个值 我正在解析 xml
  • iOS13:如何检测状态栏点击事件?

    在我的 appDelegate 中 我覆盖touchesBegan检测何时单击状态栏 void touchesBegan NSSet touches withEvent UIEvent event super touchesBegan to