在选择 UISearchDisplayController 后保持 UINavigationController 的导航栏隐藏

2023-12-19

我有一个UISearchDisplayController设置与UITableViewController它嵌套在一个UINavigationController。当选择一个单元格时,UITableView's didSelectRowAtIndexPath方法被触发,它将新视图推送到父导航控制器。这个新视图应该在入口处隐藏导航栏。

[[self navigationController] setNavigationBarHidden:YES animated:NO];

我在中使用这条线didSelectRowAtIndexPath隐藏导航栏的方法。当不使用搜索控制器选择一行时,此功能可以正常工作,但在选择搜索结果时会被覆盖。看来UISearchDisplayController在选择行后的某个时间将其置于右侧取消隐藏导航栏。

如果我移动setNavigationBarHidden调用目标视图的viewWillAppear方法、结果相似。我可以通过将 hide 调用放入来使其工作viewDidAppear,但这使得very尴尬的过渡效果让人感觉跳跃和不合适。我想在新视图滑到屏幕上之前使导航栏已经隐藏。

有谁知道导航栏的取消隐藏发生在哪里,和/或我可以通过什么方式覆盖此行为?


这可能不是最优雅的解决方案,但我相信它完全符合您的要求。我遇到了类似的问题,我的解决方案是有一个隐藏导航栏的方法,在延迟 0 秒后调用该方法,如下所示。

调用的方法是:

-(void) hideNavBar {
    if (self.navigationController.navigationBar.hidden == NO)
    {
        [self.navigationController setNavigationBarHidden:YES animated:YES];
    }
}

然后在 viewDidLoad 方法中,我有以下内容:

[self performSelector:@selector(hideNavBar) withObject:nil afterDelay:0.0];

此操作可以立即完成并删除导航栏。如果您想要动画或在延迟后将其删除,您可以修改延迟时间。我尝试了 [self hideNavBar] 但这根本不起作用,所以坚持我上面的内容。

希望这有帮助,如果有人有更优雅的解决方案,我很感兴趣!

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

在选择 UISearchDisplayController 后保持 UINavigationController 的导航栏隐藏 的相关文章

  • 是否可以使用 Javascript 访问 iPhone 加速度计?

    我开始尝试为我的 iPhone 和我朋友拥有的其他支持网络的手机进行一些基于网络的游戏编程 并且很难找到有关在浏览器中使用 Javascript 访问加速度计的信息 在最新版本中 我知道我现在可以访问位置信息 但我希望我可以在我计划制作的一
  • SDK“iOS 8.4”不允许临时代码签名

    我正在尝试在 iPhone 上运行我的 IOS 应用程序 我有一个苹果开发人员帐户 并且我执行了创建证书的所有步骤 当我尝试运行它时 我收到以下错误消息 代码签名错误 SDK iOS 8 4 不允许进行临时代码签名 CodeSign 错误
  • 无法运行 iPhone 模拟器 - 文件“日志”无法保存

    iPhone 模拟器无法运行 显示错误消息 文件 Logs 无法保存在 Library 文件夹中 因为 同名文件已存在 当 Logs 目录为空时 模拟器会创建子目录 CoreSimulator App ID 并显示上述消息 它是新的 OS
  • 如何在iOS中实时检测蜂窝信号功率的增加/减少

    我的应用程序 它是一个应用程序商店应用程序 能够通过 3G 4G LTE Edge 等进行连接 但是它无法实时检测 可能通过回调 信号强度已被修改 例如 如果我使用 4G 连接 并且位于信号为 EDGE 或 2G 的 角落 我想禁用某些功能
  • 如何搜索字典数组并在 UITableview 中显示?

    我是 IOS 新手 正在使用UISearchDisplayController用于搜索 BOOL searchDisplayController UISearchDisplayController controller shouldRelo
  • 如何将 UIView 的子视图居中

    我有一个UIView里面一个UIView我和我想要内在UIView始终在外部居中 而不必调整宽度和高度的大小 我已经设置了支柱和弹簧 使其位于顶部 左侧 右侧 底部 而无需设置调整大小 但它仍然没有居中 任何想法 你可以这样做 它总是有效的
  • 核心数据插入具有现有关系的新数据

    我的核心数据有问题 我有一个看起来像这样的表 用户 与 机架 与 机架项目的关系 我应该如何将新对象插入到具有用户中现有项目对象和现有机架对象的机架项目中 我尝试获取现有对象 predicate NSPredicate predicateW
  • UIImage 数据始终处于横向模式

    似乎当我用相机以肖像模式拍照时 UIImage具有正确的尺寸 长宽比 1536x2048 3 4 和方向 右 导出到文件 带有UIImage AsPNG Save 它始终以横向模式显示 2048x1536 4 3 这是真的吗 还是我做错了什
  • iOS 5:UIImagePickerController 崩溃

    我面临的问题是UIImagePickerController在 iOS 5 中 我的应用程序开发于iOS4 3但现在我将其升级为iOS5 当我尝试从照片库中选择图像时 我的应用程序崩溃了 它在 main m 文件中崩溃EXE BAD ACC
  • UIView 的 initWithFrame 不起作用?

    我通过 Interfacebuilder 将视图控制器设置为特定视图 但 initWithFrame 没有调用 但 drawRect 正在被调用 当我放置断点时 是的 因为不能保证initWithFrame 将在取消归档 xib 时调用 尝
  • 如何将 XCode 变量传递到资源文件夹中的 HTML 文件?

    我有一个 UIWebView 它从资源文件夹加载本地 HTML 文件 现在 这个 HTML 文件中包含了 Javascript 我的问题是 有没有办法将 XCode 变量传递给加载到 UIWebView 内的 HTML 文件 我可以将其传递
  • 连接广播而不是服务器后AsyncUdpSocket接收数据的小问题

    我的 AsyncUdpSocket 有问题 我曾经连接到服务器 发送一些数据并获得一些响应 现在 由于我不知道服务器的实际地址 我不得不更改代码并将数据发送到广播地址 255 255 255 255 这是我的代码 NSString bcho
  • UISearchBar 与 UISearchDisplayController 在屏幕外动画

    我有标准的 iPad 视图控制器 其顶部有一个自定义导航栏 在 xib 文件中 我添加了一个与视图右边缘对齐的 UISearchBar 搜索栏的宽度为 320 像素 我像这样初始化一个搜索显示控制器 Search display contr
  • ios7 xcode 5 GM:iOS 6 设备上 UIBarButtonItem 和所选 UISegmentedControl 部分的颜色保持默认颜色

    我现在正在将 ios6 应用程序移植到 ios7 sdk 使用 Xcode 5 和 Mavericks 并且我尝试更改 UIBarButtonItem 颜色 这是我尝试做的 self navigationController navigat
  • UITableView 滚动缓慢

    编辑 我在英语记录上做了相同的代码 滚动速度仍然像往常一样快 并且工作正常 但是当我获取阿拉伯语数据时 滚动又变慢了 这是阿拉伯数据的问题吗 我有大约 100 条记录 我的 tableview 滚动非常慢 谁能告诉我这段代码有什么问题 为什
  • NSString 到 Double 问题

    可能很简单 但我不明白 我有一个 NSString50 81114我想把它转换成双 目前我正在使用 string doubleValue 但这是作为50 811140000002这是怎么回事 Disco 由于精度有限double无法存储50
  • 在采取行动之前如何知道几个块是否已经执行完毕?

    我在用着animateWithDuration animations completion 之前移动用户界面的几个元素 大约 4 个元素 removeFromSuperview 叫做 我的问题是 我怎么知道在调用之前所有这些动画都已完成re
  • 显示键盘时 Admob 广告不会出现在 UITableView 页脚中

    我用它在 UITableView 的页脚上显示 Admob 广告 UIView tableView UITableView tableView viewForFooterInSection NSInteger section GADBann
  • iphone facebook app 如何修复导航栏

    我是 iPhone 开发新手 想询问有关导航控制器的问题 如何使导航控制器固定在整个应用程序上 例如 Facebook 导航栏 它始终在导航栏中显示通知 好友和消息 我试图将自定义视图放入 titleView 但每次导航推送新视图时它都会消
  • 如何将按钮放置在 UITableView 上方(而不是导航栏中)?

    I am new to iphone programming I am learning uitableview at the moment I need to create an app that has buttons above ta

随机推荐

  • 如何锁定 cytoscape.js 节点在其父节点内的位置

    我想锁定节点相对于其父复合节点的位置 这样 如果我抓取并拖动父节点 子节点会随之移动 但子节点不能单独抓取 如果我将子项设置为不可抓取和 或锁定 那么它不会与其父项一起移动 但如果我不这样做 它可以被单独拖动 这是我不想要的 这可以做到吗
  • 如何将参数(名称)传递给函数工厂?

    我需要构建许多带有许多不同参数的函数 尽管它们共享许多代码和结构 为了避免重复 我想我应该聪明地为自己构建一个函数工厂 又名闭包 我不知道如何在函数工厂内传递函数参数 我的用例是一堆 S3 构造函数 所有这些函数都共享相同的验证机制 所以我
  • 如何将测试用例从 Excel 导入到 VSTS/Azure DevOps

    我有很多测试用例当前位于 Excel 中 我需要将它们迁移到 VSTS Azure DevOps 有人可以推荐我一个好方法吗 这是一种手动方式 但也许对您有用 在 IE 或 Edge 上 您可以在测试计划中尝试网格视图 然后复制 粘贴测试用
  • Java LibGDX 如何解析 JSON?

    我有一个 json 文件 内容如下 players name hp 100 name hp 120 weapons name Desert Eagle price 100 name AK 47 price 150 如何将其解析为武器数组 我
  • 获取和转换与条件格式

    我正在尝试使用conditional formatting的输出Get Transform询问 Office 365 Excel 2016 32 位 Windows 10 专业版 64 位 但是 当刷新查询时 条件格式不仅仅是扩展 收缩以影
  • 如何将 pandas DataFrame 表保存为 png

    我构建了一个结果的 pandas 数据框 该数据框充当表格 有 MultiIndexed 列 每行代表一个名称 即index name1 name2 创建 DataFrame 时 我想显示这个表格并将其保存为 png 或任何图形格式 目前
  • Angular ui grid双击事件设置

    所以我试图让我的 Angular UI 网格在整行上注册双击事件以打开模式 我可以从烤面包开始 然后从那里开始 这是我根据在线各种演示和示例得出的最接近的结果 但我似乎无法让它发挥作用 控制器 scope gridHandlers onDb
  • 为什么我不能在 Java 中声明同一个变量两次?

    这里有类似的问题 但他们并没有真正回答我的问题 所以我很好奇为什么我们不能在Java中声明同一个变量两次 例如 int a 4 int a 6 这在 Java 中实际上行不通 然而在 javascript 中 这实际上是有效的 var a
  • Angular 1 材料设计在 Firefox 中关闭对话框后滚动到顶部

    您好 当我在 Firefox 中使用 Angular 材质打开对话框窗口时 对话框关闭后页面滚动到顶部 任何人都可以解释为什么会发生这种情况或有解决方法 See https codepen io WitteStier full EmzKQb
  • 在 pyo 和 python 中播放声音

    我正在尝试pyo https github com belangeo pyo对于蟒蛇 我使用主页中的以下命令安装了 ubuntu 的 pyo sudo apt get install libjack jackd2 dev libportmi
  • 如何在caffe中将多个N维数组输入到网络中?

    我想在 caffe 中创建一个用于语义分割的自定义损失层 需要多个输入 我希望这个损失函数有一个额外的输入因子 以惩罚小物体的漏检 为此 我创建了一个图像 GT 其中每个像素都包含一个权重 如果像素属于小物体 则权重较高 我是 caffe
  • 使用 phpmyadmin 导入 CSV utf8

    我正在尝试导入包含韩语字符的数据集 并使用 CSV LOAD DATA 保存为 unicode 编码 即使当我将输入字符集设置为 utf8 时 韩语也会被损坏 该列的编码当然是 utf8 示例记录 制表符分隔 79 read NULL MY
  • 通过 Web 代理获取 Azure 访问令牌

    我们正在使用Microsoft IdentityModel Clients ActiveDirectory用于从 Azure AD 获取访问令牌的 API 我们要求 API 调用必须通过 Web 代理 我们找不到任何相关的示例代码 有没有什
  • getSupportActionBar().setCustomView(view) 未填充整个操作栏

    我正在尝试设置我的应用程序的自定义视图 但我所做的布局没有填充整个操作栏 我尝试了很多样式设置 但没有一个对我有用 这是我在活动中的代码 View view getLayoutInflater inflate R layout action
  • 为什么 MongoDB 节点驱动程序会生成实例池损坏错误?

    当我运行以下代码时 我收到错误消息 MongoError 服务器实例池被破坏 知道为什么或如何解决这个问题吗 var csv require importer js var MongoClient require mongodb Mongo
  • 不会使迭代器(和指针)失效的容器

    我目前正在寻找提供一些插入 insert 或push back 和一些删除 erase pop back 不够 方法的容器 并且在调用这两个方法时不会使迭代器或指针无效 更清楚地说 我想要一组元素 我可以在其中添加元素 我不关心在哪里 以及
  • Facebook 页面选项卡 iframe 应用程序无法正常工作

    因此 我遵循了所有其他问题中的说明 我这样做了 现在 当我单击页面选项卡链接 从管理员登录或非管理员登录 时 我只是得到一个空白页面 它按预期访问 facebook com mypage app my id 但什么也不做 所有链接 http
  • python mallet LDA FileNotFoundError:[Errno 2]没有这样的文件或目录:'C:\\ Users \\ abc \\ AppData \\ Local \\ Temp \\ d33563_state.mallet.gz

    这是我第一次使用mallet LDA 基本上 我下载了 mallet 2 0 8 zip 文件和 JDK 我安装了 JDK 将 mallet 2 0 8 提取到目标文件夹 我设置了 MALLET HOME 这是我的代码 mallet pat
  • 无法访问 .NET Core 中 Async 方法中 DbContext 的已处置对象

    我的一个微服务 Web api 遇到了一个奇怪的问题 我的异步 GET 方法抛出一个无法访问已处置的对象我的 DbContext 发生异常 除了第一次调用它们时 我尝试在网上寻找答案 但没有任何效果 我确保我的方法不是 async void
  • 在选择 UISearchDisplayController 后保持 UINavigationController 的导航栏隐藏

    我有一个UISearchDisplayController设置与UITableViewController它嵌套在一个UINavigationController 当选择一个单元格时 UITableView s didSelectRowAt