首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

对于TabBarController,iOS 11导航项目大标题不能正确展开/折叠

TabBarController是iOS开发中常用的控制器之一,用于管理多个子视图控制器,并提供了一个选项卡栏来切换不同的子视图。

在iOS 11中,导航项目的大标题(Large Title)是一种新的导航栏样式,它可以在滚动时自动展开和折叠。然而,对于使用TabBarController的情况,iOS 11导航项目的大标题可能无法正确展开和折叠。

这个问题可能是由于TabBarController的层级结构和导航栏的交互方式导致的。由于TabBarController是作为根视图控制器存在的,而导航栏是每个子视图控制器独立管理的,所以在切换Tab时,导航栏的状态可能无法正确同步。

为了解决这个问题,可以尝试以下几种方法:

  1. 手动管理导航栏的展开和折叠状态:在每个子视图控制器的viewWillAppearviewWillDisappear方法中,根据当前Tab的状态来手动设置导航栏的大标题展开和折叠状态。可以使用navigationController?.navigationBar.prefersLargeTitles属性来控制大标题的展开和折叠。
  2. 使用自定义的导航栏:可以考虑使用自定义的导航栏来替代系统的导航栏,通过自定义的方式来实现大标题的展开和折叠效果。可以使用第三方库或自己实现来达到这个目的。
  3. 考虑重新设计界面结构:如果大标题的展开和折叠对于应用的用户体验非常重要,可以考虑重新设计界面结构,避免使用TabBarController和导航栏的组合,而是使用其他方式来实现类似的功能。

总结起来,对于TabBarController在iOS 11导航项目大标题不能正确展开/折叠的问题,可以通过手动管理导航栏的展开和折叠状态、使用自定义的导航栏或重新设计界面结构来解决。具体的解决方案需要根据具体的应用场景和需求来确定。

腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅供参考,具体的产品选择和推荐应根据实际需求和情况进行评估。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS14开发-UIViewController

逆向传值不能像顺向传值那样简单进行,需要借助于下面三种方式。 代理 代理模式需要弄清楚被代理对象和代理对象,然后按照下面的规范进行。...如果当前 UIViewController 设置了title属性,则显示标题文字。 如果都没设置,则显示空白。 iOS11 之后可以设置标题。...可以通过 storyboard 直接设置,也可以通过如下的代码设置: // 所有界面显示标题 navigationController?....navigationBar.prefersLargeTitles = true // 当前界面是否显示标题,never表示不显示标题即显示小标题 navigationItem.largeTitleDisplayMode...但展示的 UIViewController 最多不超过5个,否则会折叠。 它的 View 由两部分组成,上面是 UIViewController 的view,下面是UITabBar。

2.4K20

Cocoa编程中视图控制器与视图类详解

UITableViewCell类的表格单元项) UIPickerView 各种栏样式: UINavigationBar (对于导航栏有一个UINavigationItem类的导航项) UITabBar...视窗UIWindow虽然也是UIView,但不能用处理普通UIView的方式来设置; 2....)和栏标题(title)、用于显示标题的视图(titleView),以及用于从当前视图向后导航的Back按钮(backBarButtonItem)和隐藏后退按钮(hidesBackButton)。...注意:对于导航栏定制,对定制实际标题的最简单方式时使用子视图控制器而不是导航项的title属性: C代码   self.title = @"Hello";   self.title = [[[NSBundle...];   当然在应用程序委托AppDelegate类中创建UITabBarController,相当于创建了一个基于Tab Bar的工程项目

5.1K50
  • iOS小技能:设置状态栏背景颜色(图片)

    keyWindow.windowScene.statusBarManager.statusBarFrame; } 1.2 适配特色场景:状态是有透明或者半透明的效果的场景 补充:如果整个项目的状态栏...但是如果有状态是有透明或者半透明的效果,上面这个方法还是不能胜任,越透明越明显;经过一番查找,终于发现问题: 问题: 1、iOS 13之前,可以通过valueForKey 获取UIApplication...(34.0):(0)) 2.1 应用场景1:自定义导航栏内容 导航栏显示公告和标题 navView = [[UIImageView alloc]initWithFrame:CGRectMake...); //获取tabBar的高度 //1.在tabBarController中使用(你的继承自UITabBarController的VC) CGFloat tabBarHeight = self.tabBar.frame.size.height...; NSLog(@"tabBar高度:%f",tabBarHeight); //2.在非tabBarController中使用 UITabBarController *tabBarVC = [[UITabBarController

    1.9K40

    iOS小技能:适配安全区域距离(safeAreaInsets)

    引言 应用场景1:自定义导航栏内容,导航栏显示公告和标题 应用场景2:自定义视图底部工具栏 应用场景3: 适配上拉加载更多控件 _vcView.tableView.mj_footer.ignoredScrollViewContentInsetBottom...); //获取tabBar的高度 //1.在tabBarController中使用(你的继承自UITabBarController的VC) CGFloat tabBarHeight = self.tabBar.frame.size.height...; NSLog(@"tabBar高度:%f",tabBarHeight); //2.在非tabBarController中使用 UITabBarController *tabBarVC = [[UITabBarController...tabBarVC.tabBar.frame.size.height; NSLog(@"tabBar高度:%f",tabBarHeight); 1.3 使用static inline方式编译函数,防止静态分析 使用inline方式将函数在调用处强制展开...#define宏定义的代码,其返回值不能被强制转换成可转换的适合的类型。

    4.2K30

    IOS开发基础系列】Storyboard专题

    注意:你不能在编辑器的缩放模式下向场景拖放东西,必须首先恢复到普通模式下。         选中 TabBarController并打开属性面板。...现在你可以删除项目模板原来创建的那个viewcontroller,我们不再需要它。这样故事板中只会有一个TabbarController和它的两个 viewcontroller。         ...3.1.2 不能同时设置一个控件横向或纵向的相对间距后,又去设置绝对尺寸,否则会导致控件不能显示,也不会报错!...3.1.3 在故事板中进行布局设计时,如果有导航栏、Tab栏,必须也要把高度预留出来 iPhone iPad各种控件默认高度 http://blog.csdn.net/chengyakun11/article...5 参考链接 IOS编程教程(十):使用StoryBoard来建立导航控制器和表视图 http://www.cnblogs.com/haichao/archive/2012/11/23/2784144.

    1.1K30

    最新iOS设计规范三|3界面要素:栏(Bars)

    本文是iOS设计规范系列第3篇,介绍3界面要素(栏、视图、控件)中的栏(Bars)。首先让我们了解一下iOS的3界面要素。...当需要特别强调上下文时,请使用标题标题绝对不能与内容竞争,但是在某些应用中,标题的粗体会帮助人们浏览和搜索时进行快速定位。...在iOS 13及更高版本中,默认情况下,标题导航栏不包含背景材质或阴影。另外,随着页面滑动,标题要转换为标准标题。 ? 隐藏标题导航栏的边框。...在iOS 13及更高版本中,可以通过删除导航栏的阴影来隐藏导航栏的底部边框(当滑动内容区域时,边框会自动重新出现)。无边框样式在标题导航栏中效果很好,因为它增强了标题和内容之间的联系感。...搜索栏可以单独显示,也可以显示在导航栏或内容视图中。当显示在导航栏中时,可以将搜索栏固定在导航栏中,以便始终可以调用。也可以将其折叠,当用户向上滑动时展开显示。

    9.9K10

    iOS项目——基本框架搭建

    项目开发过程中,在完成iOS项目——项目开发环境搭建之后,我们首先需要考虑的就是我们的项目的整体框架与导航架构设计,然后在这个基础上考虑功能模块的完成。...一 导航架构设计   一款App的导航架构设计应该是符合人们的操作惯性和方便操作的特点,也应该在交互上更加合理和人性化。...根据项目功能和定位不同,不同的App的导航设计应该采用不同的技术框架,目前比较常见的导航框架主要有标签式、列表式、矩阵式三类,如下图,具体每一类的特点及详情可以参见:再谈App导航设计。 ?...目前资讯新闻类的移动端项目的主流App框架基本都是标签式的,这种类型的导航设计技术上基本上都是通过TabBar + NavigationController框架进行搭建完成,大家经常使用到的微博、今日头条等都是采用...注意点:Build Setting中配置的宏的名字不能全部是小写字母,如果宏的名字全部是小写, 会出现以下错误 ?

    1.8K80

    为任意屏幕尺寸构建 Android 界面

    其中,较小型代表了竖屏模式下手机的典型模式,中等型代表了大部分平板电脑和更大的可折叠设备的尺寸,展开型则代表了平板电脑或更大的可折叠设备,或是桌面设备在横屏模式下的显示情况。...对于 Trackr,我们将会使用典型的列表加详情窗口的样式来解决这些警告,针对有着中等或较大宽度的设备,我们将使用 NavRail,而非底部应用栏,对于展开型宽度的设备我们将使用双窗口布局来展示任务和相关详情...这样,当我选择一项任务并且应用从双窗口变成单窗口时,该项目将位于导航栈的顶部,并是可见的状态。...要正确构建列表/详情结构,除了实际布局之外我们还需要解决几个问题。其中比较有趣的一点是思考应用如何在不同尺寸布局之间转换,例如对于折叠手机,应用可能会从较大的屏幕变为较小的屏幕。...△ 可折叠手机上布局转换 为了正确处理如何将列表和详情窗口折叠成单窗口层次结构,当在较小的屏幕上时,我们需要知道用户最后与哪个窗口交互,为此,我们实现了一个简单的自定义修饰符来记录最后一次交互,并以此决定

    4.2K20

    最新iOS设计规范五|3界面要素:控件(Controls)

    本文是iOS设计规范系列第5篇,介绍3界面要素(栏、视图、控件)中的控件(Controls)。首先让我们回顾一下iOS的3界面要素。...3界面要素 (Interface Essentials) 大多数iOS应用都是由UI Kit中的组件构建的。...系统按钮 系统按钮通常出现在导航栏和工具栏中,也可以在任何地方使用。 ? 在标题中使用动词。特定于操作的标题显示按钮是交互式的,并说明单击该按钮时会发生什么。 使用标题格式命名标题。...详情展开按钮 详情展开按钮可打开视图(通常是模态视图),其中包含与屏幕上特定项目相关的信息或功能。...用户可以点击页面控件的前端或后端来访问下一页或上一页,但是他们不能点击特定的点来转到特定的页面。导航通常是按顺序进行的,通常是将页面滑动到一侧。 ? 不要在层级不同的页面之间使用页面控件。

    8.6K30

    BootStrap应用开发学习入门1

    导航栏在移动设备的视图中是折叠的,随着可用视口宽度的增加,导航栏也会水平展开。在 Bootstrap 导航栏的核心中,导航栏包括了站点名称和基本的导航定义样式。...) .navbar-collapse #响应式的导航栏必须使用Bootstrap 折叠(Collapse)插件,并且折叠的内容必须包裹在其中 .nav # ul 标签 无序列表向导航栏添加链接 ....- data-parent 属性把折叠面板(accordion)的 id 添加到要展开折叠的组件的链接上。...- href 或 data-toggle="collapse" 添加到您想要展开折叠的组件的链接上,Href设置折叠元素的id锚 - data-target="" 可以创建不带 accordion 标记的简单的可折叠组件...(collapsible); parent selector 默认值:false data-parent 如果提供了一个选择器,当可折叠项目显示时,指定父元素下的所有可折叠的元素将被关闭。

    44.8K21

    IOS开发基础系列】UIViewController专题

    这样就导致不能成功切换页面,而是一个白色无内容的页面。         ...NS_AVAILABLE_IOS(7_0);- (id)tabBarController:(UITabBarController *)tabBarController animationControllerForTransitionFromViewController...在绝大多数情况下,精心编写的一套UIView动画是可以轻易地用在不同的VC中,甚至是不同的项目中的。         ...,在弄明白之前会有些confusing),因此这些效果使用起来非常方便,相信一般项目中是足够使用的了。...可以说随着越来越多的应用转向iOS7,自定义VC切换将成为新的用户交互实现的基础和重要部分,对于今后会在其基础上会衍生出怎样让人眼前一亮的交互设计,不妨让我们拭目以待(或者自己努力去创造)。

    57230

    BootStrap应用开发学习入门1

    导航栏在移动设备的视图中是折叠的,随着可用视口宽度的增加,导航栏也会水平展开。在 Bootstrap 导航栏的核心中,导航栏包括了站点名称和基本的导航定义样式。...) .navbar-collapse #响应式的导航栏必须使用Bootstrap 折叠(Collapse)插件,并且折叠的内容必须包裹在其中 .nav # ul 标签 无序列表向导航栏添加链接 ....- data-parent 属性把折叠面板(accordion)的 id 添加到要展开折叠的组件的链接上。...- href 或 data-toggle="collapse" 添加到您想要展开折叠的组件的链接上,Href设置折叠元素的id锚 - data-target="" 可以创建不带 accordion 标记的简单的可折叠组件...(collapsible); parent selector 默认值:false data-parent 如果提供了一个选择器,当可折叠项目显示时,指定父元素下的所有可折叠的元素将被关闭。

    44.3K30

    【译】W3C WAI-ARIA最佳实践 -- 控件

    示例: 手风琴示例:演示把一个表单分成三部分,并使用手风琴导航一次展开其中一部分 键盘交互: Enter 或 Space: 当焦点在折叠状态的手风琴标题上,使用 Enter 或 Space 键可以展开相关联面板...如果实现只允许一个面板被展开,如果另一个面板被展开折叠这个面板。 当焦点在展开状态的手风琴标题上,如果实现支持折叠折叠该面板。...层次结构中的任何项目都可能有子项,并且有子项的元素,可以展开折叠来显示或隐藏子项。...例如,在使用树视图显示文件夹和文件的文件系统导航器中,代表文件夹的项目能够被展开文件夹中的内容,这些内容可能是文件、文件夹,或两者都有。 理解的树视图的一些术语包括: 节点 在树结构中的项目。...它可以是打开的(扩展)或关闭的(折叠)。 开节点 被展开以使其子节点可见的父节点。 闭节点 被折叠以使其子节点不可见的父节点。 当使用键盘来导航一个树结构,一个可见的键盘指示器告诉用户哪个节点被聚焦。

    4.5K30

    Flutter TolyUI 框架#05 | 树形菜单设计

    具备 全平台、组件化、源码开放、响应式 四特点。...在布局空间中,树形结构具有 折叠特性 ,可以延和收起子区域。子区域的偏移也能更好的展示树形的层次结构。 本文将探讨 TolyUI 在树形导航菜单中的设计。 1....允许交互时,动画折叠/收起子节点。 下面是 PLCKI 项目导航的树形结构效果,采用了 TolyUI 的默认风格: 3....展开背景色 cellStyle MenuTreeCellStyle 菜单项样式 如下所示,对于暗色模式的适配,可以通过上下文感知是否是暗色模式。...开发者可以继承 MenuMateExt 来拓展项目中的个性化菜单元数据。 比如 PLCKI 项目中,树形菜单需要副标题和标签两个拓展元数据。

    24910

    一款拥有漂亮外表的Typecho简洁主题-Scarfskin

    前言 纠结了好久,到底要不要将这款主题发布出来,一个原因是她并不能满足我心里想要的样子,就当自己拿来练手了。...LOGO和图片LOGO,自行选择 代码高亮,Mac样式代码高亮,多语言支持,自定义启用 文章顶部图,极致美观的顶部图展示,自定义启用 友情链接独立页面,无插件要求,后台可直接添加友链 归档页面,展示标签云及历史文章...CSS样式、底部内容、文章末版权信息 评论支持Emoji表情,需后台选择开启和禁用 网页延时加载loading动态图,后台自定义 文章点赞打赏功能,Pjax预加载功能 主台主题模板设置数据的备份与恢复 导航栏分类和页面的合并显示与折叠显示...2022-4-22 增加导航栏搜索框,增加打赏功能,修改赞赏按钮显示。 2022-4-21 更新导航栏分类和页面可折叠展开显示,优化一些小细节。...2022-4-20 修复网站背景色有出入问题,增加文章归档列表展开功能,优化手机端文章宽度,优化文章内页标题显示。

    2.3K31

    IOS开发之TabBarItem&NavigationBarItem

    "工欲善其事,必先利其器",下面主要是对storyboard来进行我们项目框架的搭建的,必要时,用代码实现我们的页面效果。...在IOS开发中常用的多视图间的切换大致有TabBarController, NavigationBarController, 和模态窗口。第一次接触模态的概念是在Web前端的内容中接触的。...@"Main" bundle:[NSBundle mainBundle]]; 9 10 //由storyboardID获取TabBarViewController 11...接下来会为每个导航控制器配置NavigateBar, 在一个NavigationController中只有一个NavigationBar, 而在一个NavigationController下的各个ViewController...对于TableView如何使用,在后面的博客会进行详细的介绍。上面的Project用storyboard配置好以及实现相应的代码,运行效果如下: ?

    1.4K80

    FAQ | 为大屏幕设备构建应用的常见问题解答

    我们认为将导航组件放在侧边更易于使用,尤其是对于那些在应用内频繁通过导航栏切换界面的用户来说。...对于基于 View 的应用,您可以使用资源限定布局,通过底部导航——如底部应用栏 (App Bar) 或底部导航菜单 (Navigation Menu)——形成窄小的布局,也可以使用 Navigation...根据我们提供的 窗口尺寸类别 和指南,对于较小的布局,推荐使用底部导航菜单,对于中等和更大的展开布局,建议您考虑使用 Navigation Rail,因为使用这类设备的用户更多会使用双手而不是单手来操作设备...虽然 ConstraintLayout 并不能应对所有布局场景,但无论您使用何种布局,都应该始终避免对布局大小进行硬编码。...答: 借助这个问题,我们想首先提一下可折叠设备的多种形态,它们分别是完全折叠形态、半折叠形态和完全展开形态。

    3.5K10
    领券