ios - 如何检测 RPSystemBroadcastPickerView 何时被点击

标签 ios swift replaykit rpsystembroadcastpickerview

我正在使用 RPSystemBroadcastPickerView 从我的应用程序开始系统范围的屏幕录制。 RPSystemBroadcastPickerView 在开始录制和一切方面是完全自主的,我认为这是有道理的 - 只有用户可以通过明确点击按钮开始屏幕录制。

我需要知道 RPSystemBroadcastPickerView 何时被点击。现在 UI 正在显示键盘,我想继续显示它(这是一个聊天应用程序)。但是,显示广播扩展列表以选择一个的表格显示在键盘下方。见下图:

enter image description here

这有效地阻止了用户开始广播。如果我知道用户何时点击 RPSystemBroadcastPickerView,我可以在那一刻手动隐藏键盘。有什么建议吗?

最佳答案

我没有找到任何回调,但您可以创建透明按钮,将其添加到 RPSystemBroadcastPickerView 上方。当用户点击您的按钮时,您将能够隐藏键盘,而不是使用代码将操作转移到 RPSystemBroadcastPickerView:

for subview in screenSharingProviderPickerView.subviews {
    if let button = subview as? UIButton {
         button.sendActions(for: UIControlEvents.allTouchEvents)
    }
}

关于ios - 如何检测 RPSystemBroadcastPickerView 何时被点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51982235/

相关文章:

ios - 如果 BLE 不能强制断开连接,我们如何验证连接?

iphone - 管理两个 NSURLConnection

xcode - Cocoapods 没有这样的模块 'Siesta'

UITableViewController 中的 iOS tableHeaderView 从未显示

ios - ReplayKit 在与 webrtc 一起工作时不起作用

iphone - 奇怪的 objective-c 语法——方括号和@符号

ios - 不断询问 iTunes Sandbox 帐户凭据

ios - 坚持使用 Swift 1 并为 IOS7 及更高版本制作应用程序

swift - iOS11控制中心录播区如何添加应用?

ios - 主机应用程序在哪里处理 NSExtensionContext#completeRequest?