防止 UISearchDisplayController 隐藏导航栏

2023-12-03

每当用户开始编辑UISearchDisplayController的搜索栏,搜索控制器将变为活动状态,并在显示搜索表视图时隐藏视图的导航栏。是否可以预防UISearchDisplayController隐藏导航栏而不重新实现它?


我刚刚对 UISearchDisplayController 进行了一些调试,发现它正在调用 UINavigationController 上的私有方法来隐藏导航栏。这发生在 -setActive:animated: 中。如果您继承 UISearchDisplayController 并使用以下代码覆盖此方法,您可以通过假装导航栏已隐藏来防止导航栏被隐藏。

- (void)setActive:(BOOL)visible animated:(BOOL)animated;
{
    if(self.active == visible) return;
    [self.searchContentsController.navigationController setNavigationBarHidden:YES animated:NO];
    [super setActive:visible animated:animated];
    [self.searchContentsController.navigationController setNavigationBarHidden:NO animated:NO];
    if (visible) {
        [self.searchBar becomeFirstResponder];
    } else {
        [self.searchBar resignFirstResponder];
    }   
}

让我知道这是否适合您。我也希望这不会在未来的 iOS 版本中出现问题...仅在 iOS 4.0 上进行了测试。

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

防止 UISearchDisplayController 隐藏导航栏 的相关文章

  • 仅在导航弹出后分组 UITableViewCell 上才会出现黑色角

    我不是图形专家 但我以某种方式设法通过使用一些 CG 代码将背景视图设置为 backgroundView 来制作一些好看的自定义分组 UITableViewCells 在 3 1 3 之前的所有 SDK 中 也许是 3 2 我还没有在 iP
  • 使用NSString的drawAtPoint方法代替CGContextShowGlyphsAtPoint问题

    在我的应用程序中 我试图沿着路径渲染文本 这对于大多数字符来说都很好 但对于日语 或任何非 Mac Roman 就不行了 建议我使用 NSString drawAtPoint 它在我的 CATiledLayer 中显示正确的字符 然而 它们
  • 重用 NSURLConnection 实例

    我正在 iPhone 上使用 NSURLConnection 实例从服务器请求数据 该服务器像往常一样由委托管理 这些请求非常频繁 也许每 2 分钟一次 并且有一个共同且固定的 URL 而不是看到每次下载后释放 NSURLConnectio
  • iPhone 上的加速器范围是多少?

    我似乎无法在网上找到任何关于此的文档 而且我正在谷歌搜索的内容给了我很多相互矛盾的信息 From iphonedevsdk com http www iphonedevsdk com forum iphone sdk development
  • 将 NSOperation 子类化为并发且可取消

    我无法找到有关如何子类化的良好文档NSOperation并发并支持取消 我阅读了苹果文档 但找不到 官方 示例 这是我的源代码 synthesize isExecuting isExecuting synthesize isFinished
  • CGColorRef 导致崩溃

    我的代码发生了崩溃 并且我一直跟踪到在传递 2 个 CGColorRefs 时发生崩溃的行 以下是对象 CGColorRef startColor UIColor colorWithWhite 0 92 alpha 1 0 CGColor
  • UITableView 中的 iPhone 动态 UIButton

    我正在为每个单元格行创建一个按钮UITableView 该按钮充当将所选行添加为 收藏夹 的开关NSUserDefaults 我的问题是 每当我按下此按钮时 就会在旧按钮之上绘制一个新按钮 我如何正确释放 重用它 这就是我的cellForR
  • 将蒙版图像作为 PNG 文件写入磁盘

    基本上 我从网络服务器下载图像 然后将它们缓存到磁盘上 但在这样做之前 我想屏蔽它们 我正在使用每个人似乎都指出的屏蔽代码 可以在这里找到 http iosdevelopertips com cocoa how to mask an ima
  • 志愿者匹配 API Objective C

    我正在使用 AFNetworking 对 VolunteerMatch API 执行 Web 请求 当我执行请求时 我收到 200 代码 但没有收到响应 典型的 VolunteerMatch 请求如下所示 GET api call acti
  • 如何在 UIView 中获取父导航控制器

    我创建了一个UITabBarController在我的应用程序委托中 其中每个选项卡栏项目都有不同的UINavigationController加载自定义的UIViewController带NIB 使用 pushViewController
  • iPad 3 renderInContext 缓慢 - 渲染性能不佳

    我试图从用户可以绘画的视图中获取图像 或添加一些其他视图 到目前为止 iPad1 和 2 一切正常 但在 iPad3 上它却像狗一样跑起来 我只是使用图层 renderInContext 方法 if UIScreen mainScreen
  • UIControlEventTouchDragEnter 似乎不适用于捕获滑入控件的点击

    如果手指从外部拖动到控件的边界内 我想允许调用一个方法 我以为 UIControlEventTouchDragEnter 会做到这一点 但似乎并没有 有谁知道是否有一种方法可以根据点击滑入控件来触发操作 这就是我正在尝试的 但没有接到我的
  • 如何使用 UIScrollView?

    我该如何使用UIScrollView 请给我一个带有一张滚动图像的简单示例 这将使您深入了解UIScrollView控制 学习 UIScrollView 的基础知识 https stackoverflow com questions 159
  • iOS HTTP 请求在后台运行

    当应用程序处于后台时 可以向 PHP 服务器发出 HTTP 异步请求吗 该应用程序是基于位置的应用程序 应收集当前位置并每 5 或其他值 分钟将坐标发送到服务器 即使应用程序处于后台 我也可以将 http 帖子发送到服务器吗 我读到了很多关
  • 不确定如何在使用故事板时正确子类化 UIApplication

    我想在 X 次用户不活动 没有触发触摸事件 后返回故事板的初始视图控制器 经过一些研究 我发现检测不活动的最常见方法是触发 NSTimer 并在事件触发时重置间隔 为了检测触发的事件 我们在 UIApplication 的子类中重写 UIA
  • 在 iPhone 应用程序中显示来自 RSS 源的内容

    我看过一些关于这个主题的教程 但它们都只讨论了一半 然后让人感到困惑 如何将 RSS feed 流式传输到 iPhone 应用程序中 我知道 xml 应该被读入 解析等 但随后我不确定如何显示我需要的信息 例如图像 嵌入视频等 如果有人能指
  • Firebase 查询 - 查找包含字符串的子项

    我在使用 Firebase 查询时遇到了一些问题 我想查询对象 其中对象子值包含特定字符串 到目前为止 我有一些看起来像这样的东西 Firebase ref Firebase alloc initWithUrl https dinosaur
  • 我应该在哪里保存想要长期保留的数据和文件,以及如何防止 iCloud 备份它们

    我有任意类型的文件 包括核心数据存储库 我需要保留这些文件 并且不要让 iOS 删除它们 通常 我不希望 iCloud 备份这些文件 我应该把它们保存在哪里 iOS5 0 及更早版本 5 0 1 和 5 1 及更高版本中保存文件的本地更改主
  • Xcode - 重命名项目会导致问题

    我目前正在开发 iPhone 应用程序 我从在互联网上找到的项目模板开始研究这个问题 现在我想重命名这个项目 我已经成功重命名了实际的项目文件 文件夹和可执行文件以及其他一些东西 但有一个奇怪的问题 如果我尝试在 iPhone 设备上运行该
  • iOS:如何实现像Android的startActivityForResult这样的行为

    我是一名 Android 开发人员 正在开发我们应用程序的 iOS 版本 我需要知道如何在 Android 上实现类似于 startActivityForResult 的行为 我需要显示一个新的视图控制器 然后在新的视图控制器关闭时将控制权

随机推荐