UITableView:向上滑动时缩小选项卡栏和导航栏

2024-01-03

Scenario

我有一个应用程序,它使用标签栏控制器(屏幕底部)和导航控制器(屏幕顶部)UI 设计。在一个视图控制器上,我有一个 UITableView,其中包含用户将“向上滑动”以滚动表格以查看内容的内容。

Need

很像雅虎!和 Instagram 应用程序,我希望能够在感知到用户在 tableView 上向上滑动时让顶部导航栏和底部选项卡栏“收缩”并“消失”。当然,当用户再次向下滑动时,我希望它们都重新出现。

Question

有谁知道如何做到这一点?


To hide UITabbar of UITabbarController其中包含UINavigationController with UITableViewController在堆栈中应该使用hidesBarsOnSwipe属性并添加自定义选择器barHideOnSwipeGestureRecognizer:

@implementation SomeTableViewController

- (void)willMoveToParentViewController:(UIViewController *)parent
{
    if (parent) {
        self.navigationController.hidesBarsOnSwipe = YES;
        [self.navigationController.barHideOnSwipeGestureRecognizer addTarget:self action:@selector(swipe:)];
    }
    else {
        self.navigationController.hidesBarsOnSwipe = NO;
        [self.navigationController.barHideOnSwipeGestureRecognizer removeTarget:self action:@selector(swipe:)];
    }
}

- (void)swipe:(UIPanGestureRecognizer *)recognizer
{
    UINavigationBar *bar = self.navigationController.navigationBar;

    BOOL isHidden = (bar.frame.origin.y < 0);

    [self.tabBarController.tabBar setHidden:isHidden];

    [[UIApplication sharedApplication] setStatusBarHidden:isHidden withAnimation:UIStatusBarAnimationSlide];
}

这样就可以同时隐藏选项卡栏和状态栏。还可以添加一些动画效果来隐藏/显示这些栏。

之前删除选择器非常重要self已被解除分配。否则,下次使用时肯定会崩溃barHideOnSwipeGestureRecognizer with self.navigationController.

请注意,此方法仅适用于 iOS8+。

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

UITableView:向上滑动时缩小选项卡栏和导航栏 的相关文章

随机推荐

  • Nestjs同时设置http和https服务器

    我正在尝试设置 http 和 https 服务器 咨询了官方文件 https docs nestjs com faq multiple servers nest i System Information OS Version Windows
  • 可从同一类的另一个实例访问私有字段[重复]

    这个问题在这里已经有答案了 我没有得到以下信息 我一直认为我只能从声明该字段的类访问私有字段 但是在这种情况下我可以访问它 class Session List
  • 子类化用户控制的 GridView

    我正在尝试对位于 UserControl 中的 GridView 进行子类化 因此 我希望能够在单独的页面中处理事件 基本上我的代码如下 我的带有 GridView 的 UserControl div div
  • 二分查找,从 java 到 Actionscript

    我正在尝试将以下 java 二进制搜索例程转换为 as3 我假设 compareTo 是内置的java方法 而 gt gt gt 是一种按位运算 任何熟悉 ActionScript 3 和 Java 的人都可以帮忙解决这个问题吗 packa
  • Excel 单元格值被 OLEDB 提供程序截断

    我正在使用 OleDbConnection 类从 Excel 2000 2003 工作簿检索数据 string connectionString Provider Microsoft Jet OLEDB 4 0 Data Source fi
  • 为什么垂直滚动条会自动移动?

    例如 我不明白为什么当单击 Line 9 时垂直滚动条会自动移动到最顶部位置 进一步单击不会移动滚动条 谁能解释为什么以及如何解决这个问题 我使用 Firefox 3 6 3 HTML div div
  • Fortran 中对多个矩阵进行加权和求和的最有效方法

    我正在尝试用 Fortran 编写一个函数 将多个具有不同权重的矩阵相乘 然后将它们加在一起形成一个矩阵 我已经确定这个过程是我的程序的瓶颈 这个权重将被many程序单次运行的时间 具有不同的权重 现在我正试图通过从 Matlab 切换到
  • 找不到项目文件

    我有一个现有的 TFS 项目 其结构与此类似 我在框架目录中创建了一个包含 2 个项目的解决方案 然后 我将 Cerberus 和 Cerberus Mvc 作为现有项目添加到 OnFaitQuoi 解决方案中 请注意 之前已签入 cerb
  • SSH.NET 从 ShellStream 检索输出

    我是 SSH NET 的新手 我正在我目前正在进行的一个项目中使用它 我必须使用 SSH NET 运行 sudo 命令 这就是我使用 ShellStream 运行该命令并为 sudo 命令提供身份验证的原因 现在我尝试运行 sudo 命令
  • 链接到完整的 div - html 和 css

    一些文字 sliderPart width 25 height 100 sliderPart a display block position relative text decoration none height 100 font 1
  • 如何将 BIT2 类型链接到变量?

    In most input cardsBeckhoff 有两个变量 Limit 1 and limit 2 他们有个BIT2datatype 大小为0 2字节 即有两位 如下图所示Limit 1 Bit0 Value smaller equ
  • 如何使用 python 在 Tensorboard 上显示模型的权重和偏差

    我创建了以下模型进行训练 并希望在 Tensorboard 上将其可视化 Basic Cell LSTM tensorflow index in epoch 0 perm array np arange x train shape 0 np
  • 正则表达式在页面上查找两个单词

    我试图找到包含单词 text1 和 text2 的所有页面 我的正则表达式 text1 n text2 it doesn t work 如果您的 IDE 支持s 单线 标志 所以 字符可以匹配换行符 您可以使用以下方式搜索您的项目 text
  • 在VBA中逐像素扫描图像

    这里有一个近乎精确的问题读取图像的像素颜色 https stackoverflow com questions 16528319 read pixel colors of an image 实际上 Op 提出的问题与我所问的问题相同 但接受
  • Android - 用于语音识别的外部 MIC

    我需要知道将麦克风或耳机连接到设备时会触发哪个事件 并且我正在使用语音识别 并且观察到它不会遵循与设备未连接任何设备时相同的流程 我想知道是否有某种解决方案 因为我目前正在创建的应用程序是在智能手机中进行测试的 但将来需要连接麦克风或耳机
  • 使用 Moment,js 获取本月所有星期一日期

    有没有办法使用 moment js 库获取当月的所有星期一日期 我知道我可以通过以下方式得到月底 moment endOf month 但如何获取当前 任何月份的所有星期一日期 我不想要 javascript 默认日期库中的某些函数 请参考
  • 如何在功能组件中更改父组件的子状态组件

    我创建了一个倒计时器组件 我在这个组件附近有一个按钮 我希望当用户单击此按钮时重置计时器 为此我应该改变子状态 我找到了从孩子那里改变父母状态的解决方案 但我找不到解决方案 可以用ref解决吗 我的计时器组件是一个功能组件 React re
  • 同时验证两个字段

    我正在看这篇文档 清理和验证相互依赖的字段 https docs djangoproject com en stable ref forms validation cleaning and validating fields that de
  • 尝试加载 PDFTron Android 库时出错

    当尝试与 PDFTron 即 PDFNet Android SDK 集成时 我遇到了一个奇怪的错误 UnsatisfiedLinkError 无法加载 PDFNetC findLibrary 返回 null 预期为armv7a 发现cpu
  • UITableView:向上滑动时缩小选项卡栏和导航栏

    Scenario 我有一个应用程序 它使用标签栏控制器 屏幕底部 和导航控制器 屏幕顶部 UI 设计 在一个视图控制器上 我有一个 UITableView 其中包含用户将 向上滑动 以滚动表格以查看内容的内容 Need 很像雅虎 和 Ins