点击“X”元素时触发 UISearchBar 和事件

2024-06-22

在 UISearchBar 上,有一个 X 元素,可让您一次清除所有内容。发生这种情况时有办法收到通知吗?

UISearchBarDelegate::searchBarCancelButtonClicked仅当点击“取消”按钮时才会触发。


The UISearchBar没有此事件的委托方法。通过实施您几乎可以得到您想要的textDidChange:回调委托的方法并检查空字符串。

我不推荐它,但还有另一种可能的方法。这UISearchBar由 UITextField 组成,它有一个委托方法,当用户点击清除按钮时调用该方法(textFieldShouldClear:)。您可以获得UITextField通过遍历UISearchBar的孩子意见:

(这是在派生的背景下UISearchBar class)

- (UIView*) textField
{
    for (UIView* v in self.subviews)
    {
        if ( [v isKindOfClass: [UITextField class]] )
            return v;
    }

    return nil;
}

从这里开始,你could重新分配UITextField委托给您自己的实现,注意将委托调用转发给旧委托。这样你就可以拦截textFieldShouldClear:。或者如果事实证明UISearchBar是代表UITextField它包含您可以混合对 textFieldShouldClear:... 的调用,显然不理想,但技术上可行。

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

点击“X”元素时触发 UISearchBar 和事件 的相关文章

随机推荐

  • 如何处理 iOS 中未读的推送通知?

    我有一个 iOS 5 1 应用程序 它注册到 APNS 服务以接收通知 注册成功 我正确收到通知 当我尝试处理通知时 问题就出现了 一旦应用程序运行 该方法didReceiveRemoteNotificationAppDelegate 中的
  • Indy 10 和 sslvTLSv1_2

    我发布的网站目前支持 TLS v1 1 和 TLS 1 2 他们很快将只允许 TLS 1 2 版连接 为此我将 Delphi 5 升级到了 Indy 10 目前 我在代码中创建组件 并且一次运行 3 个线程一切都运行良好 HTTp TIdH
  • 使用 System.Drawing 在桌面上绘制十字准线?

    我正在尝试创建一个非常小的 c 实用程序应用程序 它将利用 System Drawing 在桌面上绘制全屏 静态 固定的十字线 以便我可以将一些桌面项目与相关的屏幕中心对齐 我尝试查找一些示例 但没有找到很多示例 并且想知道是否有人在这方面
  • 短路:Or Else 与 Or 组合

    如果我有以下 a OrElse b 是True那么显然 b 永远不会被评估 但如果我添加一个Or 然后呢 a OrElse b Or c c 是否 应该被评估 如果我放入一些括号怎么办 抱歉 如果这是基本的 当然 我可以自己测试答案 但我无
  • 如何在 iPhone 上从“Base64String”格式的原始图像数据获取 UIImage?

    在我的应用程序中 我从服务器接收 XML 文件中的图像数据 该数据是图像 jpeg 或 png 或 tiff 等 服务器将其转换为 Base64String 格式字节 以通过 XML 文件发送到我的应用程序 在我的应用程序端 应用程序将这些
  • 如何在iPhone中编译Eigen

    我想编译 Eigen 并在具有 NEON 功能的 iPhone 中使用它 如何在iPhone中编译Eigen 是否需要针对特定 ARM芯片进行编译 我需要修改构建脚本吗 Cheers 由于最新版本的 Eigen 开箱即用地支持 ARM NE
  • 如何自动点击“您要打开还是保存?”

    我想知道是否有以下 c 或 selenium 解决方案 我正在使用 selenium 从网络服务器下载文件 不幸的是 在 IE9 中无法禁用此弹出屏幕 c 中有没有单击 保存 按钮的解决方案 Client WebClient client
  • 笛卡尔幂(具有自任意次的笛卡尔积)

    我的代码需要多次计算数组与其自身的笛卡尔积 例如 如果我的数组是 1 2 我需要将这些值填充到三个槽中 结果将是 1 1 1 1 1 2 1 2 1 1 2 2 2 1 1 2 1 2 2 2 1 2 2 2 做到这一点最简单的方法是什么
  • VBA:对矩阵求和

    为什么这个功能不起作用 Type funtest 2 1 在 Excel 中 它会给我 VALUE Public Function funtest a As Double As Double Dim z j i As Integer Dim
  • 强制嵌入 Vimeo HTML5 视频

    我正在尝试嵌入 Vimeo 视频并强制其默认使用 HTML5 这是一个线程 https stackoverflow com questions 5845484 force html5 youtube video关于做我正在尝试做的同样的事情
  • 第三行的总和并相应地划分行

    我有一个如下的文件 其中有 n 行 我想计算其总和 基于第三列 并将行相应地分布在 3 个不同的文件中 基于每个文件的总和 例如 如果我们将所有第三列值相加 则总数为 516 如果我们将其除以 3 则为 172 所以我想向文件添加一行 使其
  • 使用 MFMailComposeViewController 时 Monotouch iOS 6 崩溃

    当我在 Monotouch iOS 6 中使用 MFMailComposeViewController 时 出现一个奇怪的错误 但它在 iOS 5 1 中工作正常 Assertion failure in NSDictionary UIRe
  • 如何订阅 IObservable 序列、强制完成并在没有竞争条件的情况下检索所有数据

    在使用可观察量时 我遇到了一种模式的问题 我正在使用蓝牙设备 我向该设备发送一条消息 告诉它做某事并通知我结果 设备开始发送通知 可能持续 10 毫秒或 20 秒 我等待设备完成发送通知 有时这将是来自设备的特定消息 有时我只是在超时时间内
  • 如何在 ARKit 应用程序运行时加载 SCN 或 glTF 模型?

    在运行时从 iOS 内部的 URL 加载 3D 模型的最佳方法是什么 我已经尝试过这个 scn and gtlf模型进口商 我正在使用这个框架https github com prolificinteractive SamMitiAR iO
  • 对于给定的进程,“supervisorctl tail”如何工作?

    哪里有supervisorctl tail从中获取某个进程的日志信息 如何获得完整的日志 从命令行帮助 supervisorctl help tail tail f
  • 如何在本机后台服务中使用(角度)HTTP Client - NativeScript

    我如何在我的后台服务 android 中使用角度http客户端 我的应用程序需要将数据从后台服务发送到我的服务器 我使用 NativeScript Angular 我的后台服务 declare var android if applicat
  • iOS 中的“__connection_block_invoke_2 中的错误:连接中断”是什么?

    我尝试使用以下方法制作 iOS 应用程序AFNetworking in UITableView TableView 加载 20 个数据 如 Twitter 的时间线 当加载超过 80 个数据时 Xcode 显示消耗约 70MB 内存 控制台
  • Rails asset_host、cloudfront 和 heroku

    我正在 Heroku 上运行 Rails 4 0 应用程序 但在我的一生中 我无法使用我在 asset host 中设置的主机获取我的资产 url 我相信我的 cloudfront 设置很好 因为我可以用我的 cloudfront url
  • active_admin 并将多个图像添加到图库

    我正在使用 active admin 和 Carrierwave gems 有两个简单的模型 class Image lt ActiveRecord Base attr accessible gallery id file belongs
  • 点击“X”元素时触发 UISearchBar 和事件

    在 UISearchBar 上 有一个 X 元素 可让您一次清除所有内容 发生这种情况时有办法收到通知吗 UISearchBarDelegate searchBarCancelButtonClicked仅当点击 取消 按钮时才会触发 The