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

Swift 4一个视图控制器两个视图隐藏导航栏

Swift 4是一种编程语言,用于开发iOS、macOS、watchOS和tvOS应用程序。它是苹果公司推出的一种现代、安全、高效的编程语言。

视图控制器是iOS应用程序中用于管理用户界面的组件。它负责处理视图的生命周期、用户交互和数据传递等任务。在Swift 4中,可以使用UIViewController类来创建和管理视图控制器。

隐藏导航栏是指在应用程序中隐藏导航栏组件,导航栏通常用于显示标题、返回按钮和其他导航功能。隐藏导航栏可以提供更大的屏幕空间,使应用程序界面更简洁。

要在Swift 4中隐藏导航栏,可以使用以下代码:

代码语言:swift
复制
override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    self.navigationController?.setNavigationBarHidden(true, animated: animated)
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    self.navigationController?.setNavigationBarHidden(false, animated: animated)
}

上述代码中,viewWillAppear方法在视图即将显示时调用,通过设置导航栏的隐藏属性为true来隐藏导航栏。viewWillDisappear方法在视图即将消失时调用,通过设置导航栏的隐藏属性为false来显示导航栏。

隐藏导航栏的应用场景包括需要更大的屏幕空间来展示内容、自定义导航栏样式或者在特定页面不需要导航功能等情况。

腾讯云提供了丰富的云计算产品和服务,其中与iOS开发相关的产品包括云服务器、移动推送、移动直播、移动分析等。您可以通过访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于这些产品的详细信息和使用指南。

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

相关·内容

iOS开发常用之网络

FoldingTabBar.iOS - 可折叠标签和标签控制器。...LTNavigationBar - LTNavigationBar为导航添加动态着色效果,可自定义其背景色.Demo包含:1。变换背景色; 2。滚动视图导航和状态重叠。...ZTPageController - 模仿网易新闻和其他新闻样式做的一个菜单中有各自的控制器,其中有4中展示样式'网易风格''搜狐风格''腾讯风格1''网易style2'。...封装并简化了版本新特性启动视图!2。添加了版本的本地缓存功能,3。集成简单,使用方便,没有耦合度,4。支持block回调版本新特性,导航页,引导页)。...DisplaySwitcher.swift - 两个集合视图在不同布局(平摊和列表)间平滑切换.Yalantis出品。

23.6K10

Swift开发:自定义标签UITabBarController (Swift项目开始的第一步)

屏幕快照 2017-07-15 下午2.40.54.png 第一步:创建Swift工程# 1.使用Xcode创建一个Swift初始项目ZSTestSwift,效果如下: ?...第三步:创建视图控制器 自定义导航控制器视图控制器的父类,并且创建三个继承于BaseViewController的视图控制器(因为没有过多复杂操作,这里省略代码),为之后创建标签控制器做准备。...} //初始化导航控制器数组 var nvcArray = [BaseNavigationViewController]() //在Swift中, 通过字符串创建一个类...makeKeyAndVisible() //设置Window的根视图控制器为自定义的标签 self.window?....在项目前期我们以自定义的方式来创建标签,这也是为了后期应对更加复杂的需求做伏笔,比如增加新的控制器我们只需要修改plist配置文件的属性创建相应的视图控制器就可以,这样就避免了修改大量代码。

4.3K70
  • UINavigationController 导航控制器概念属性方法

    self.viewControllers = @[navHall, navArena, navDiscovery, navHistory, navMyLottery]; 4、设置隐藏导航 @property...的时候隐藏底部,如push后隐藏tabbar @property(nonatomic) BOOL hidesBottomBarWhenPushed; (3)获取管理它的导航控制器 @property(...(1)通过一个自定义的导航和工具创建导航控制器 - (instancetype)initWithNavigationBarClass:(nullable Class)navigationBarClass...toolbarClass:(nullable Class)toolbarClass; (2)使用系统默认的导航和工具,创建一个导航控制器同时设置一个视图控制器 - (instancetype)initWithRootViewController...:(BOOL)animated; 4、设置隐藏导航 - (void)setNavigationBarHidden:(BOOL)hidden animated:(BOOL)animated; 5、是否隐藏底部工具条

    2.1K60

    Swift-MVVM 简单演练(一)

    Push 出控制器后,底部 TabBar 隐藏/显示问题 在导航控制器的基类里面重写一下push方法 判断如果不是根控制器,那么push的时候就隐藏BottomBar 注意调用super.pushViewController...如果在某一个地方就可以写好,对其它控制器的代码入侵的越少越好,这是一个程序好的架构的原则 首先,在HQNavigationController中隐藏系统的navigationBar override func...bug 在push出下一个控制器的时候,导航右侧会有一段白色的样式出现 原因是:系统默认的导航的透明度太高,自定义设置一个颜色就好了 HQBaseViewController.swift // 设置...到目前为止,虽然我们只是在基类控制器里面创建了访客视图setupVistorView,只有一个访客视图的HQVistorView,但是实际上当我们点击不同的子控制器的时候,每个子控制器都会创建一个访客视图...而在未登录状态下,导航上面的按钮都是显示注册和登录。

    10.3K51

    iOS开发UINavigation系列四——导航控制器UINavigationController

    controller的管理         导航控制器一个堆栈结构,只是其中管理的对象是controller,通过push与pop进行controller的切换,我们有两种方式可以创建导航控制器: /.../通过一个自定义的导航和工具创建导航控制器 - (instancetype)initWithNavigationBarClass:(nullable Class)navigationBarClass... toolbarClass:(nullable Class)toolbarClass; //使用系统默认的导航和工具,通过一个视图创建导航控制器 - (instancetype)initWithRootViewController...; //屏幕滑动的时候隐藏导航,常用于tableView,上滑隐藏导航,下滑显示,带动画效果 @property (nonatomic, readwrite, assign) BOOL hidesBarsOnSwipe...; //横屏的时候隐藏导航 @property (nonatomic, readwrite, assign) BOOL hidesBarsWhenVerticallyCompact; //敲击屏幕可以隐藏与显示导航

    1.8K20

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

    导航控制器自动构建并处理Back按钮; 3. 导航控制器提供简单的菜单可帮助用户进行自定义控件。4....每一个导航控制器都拥有一个视图控制器RootViewController,它是“导航弹出栈”的基础,是根。5....使用pushViewController: animated:可推入一个新的控制器,从而增加新的项到导航栈。(记住:导航控制器不添加一个视图进去,这个导航是没有意义的!)...作为弹出回上一级视图控制器的Back按钮是自动产生并处理的,无需用户干预。 3. 可使用popViewControllerAnimated:BOOL弹出当前视图控制器并向左显示前一个视图4....视图控制器剖析 视图控制器一个导航项,一个工具子项集以及一个tabbarItem项与其关联。 3.

    5.1K50

    iOS导航切换界面时隐藏和显示

    ,往往又需要重新显示导航,关于这样一种设计苹果并没有给出专门的设置,需要我们自己来做,但在尝试了多种方法之后其实也没有很好的方法,QQ其实做的挺好的,如果你现在动手去尝试一下,会发现它的有无导航转换之间有一个渐变的毛玻璃效果...,在通过Tabbar切换模块时就会出现一个很快的隐藏导航的动画,这个很烦,我尝试了很多方法,试图在 UINavigationControllerDelegate 和 UITabBarControllerDelegate...这个方法是直接隐藏了整个导航,所以如果要保存导航的一些返回按钮以及其他自定义的按钮,就需要自己在界面上去模拟添加,如果不想这么麻烦,也可以不隐藏导航,而是将导航的背景视图设为透明的: [...结 上面的方法可以在只有导航控制器时比较好的操作,虽然不能做到像QQ那么好,但也能用,但如果有Tabbar存在,就会有问题。那如何做到QQ那样的效果呢?...这里有一篇文章实现了:传送门:导航的平滑显示和隐藏 - 个人页的自我修养(1) ,不过作者使用swift实现的,用到了extension,其实也就是OC下的category,之后我再研究一下OC下的实现好了

    3.9K30

    iOS导航使用总结

    目录: 一、设置导航样式 二、解决自定义导航返回按钮后侧滑不可用问题 三、隐藏导航底部的分割线 四、导航引起的布局问题 相关文章:iOS状态的使用总结 一、设置导航样式 设置导航的样式可分为全局设置与局部设置...导航视图层级图 从图中可以看出,导航的底部分割线是一个UIImageView对象,而且高度只有0.5,所以我们可以据此获取到导航的底部分割线对象,在一个视图控制器中实现此需求,代码如下: #import...,用于优化滑动类视图(继承于UIScrollView的视图)在视图控制里的显示: iOS系统的导航UINavigationBar与标签UITabBar默认都是半透明模糊效果,在这种情况下系统会对视图控制器的...UI布局进行优化:视图控制器里面第一个被添加进去的视图是滑动类视图,并且其Frame是整个屏幕大小时,系统会自动调整其contenInset,以保证滑动视图里的内容不被UINavigationBar与UITabBar...,默认值是UIRectEdgeAll,即:当前视图控制器里各种UI控件会忽略导航和标签的存在,布局时若设置其原点设置为(0,0),视图会延伸显示到导航的下面被覆盖。

    3.2K20

    【iOS开发-22】navigationBar导航,navigationItem建立:获取导航中的基本文本和button以及各种跳跃

    大家好,又见面了,我是全栈君 (1)navigationBar导航可以被看作是self.navigationController一个属性导航控制器,它可以由点直接表示self.navigationController.navigationBar...须要创建两个视图控制器(ViewController根视图控制器,SecondViewController子视图控制器),然后放在导航控制器栈中。...隐藏导航条,由此点击进入其它视图导航条也会被隐藏。...,所谓跳转,事实上就是往导航控制器栈中PUSH或者POP一个视图控制器,这样在最上面的视图控制器就变了,这样视图也跟着变了,由于仅仅显示在栈顶得那个视图控制器视图 //所以(1)控制所谓的跳转...事实上是导航控制器在控制,在里面的元素都能够通过navigationController属性获取到它们所在的导航控制器 //所以(2)获取到导航控制器之后,使用Push的那个方法,往栈里面放一个视图控制器

    2.3K10

    架构之路 (五) —— VIPER架构模式(一)

    (trailing: presenter.makeAddNewButton()) 这将按钮和标题添加到导航。...按照前面的例子,创建两个新的Swift文件:TripDetailPresenter.swift和TripDetailInteractor.swift,以及一个名为TripDetailView.swift...router处理从一个屏幕到另一个屏幕的转换,设置下一个视图所需的类。 在命令式UI范例中——换句话说,在UIKit中——路由router将负责显示视图控制器或激活segue。...要将VIPER映射到SwiftUI,视图现在负责显示/隐藏视图,路由router是一个目标视图生成器,presenter在它们之间进行协调。...导航修饰符使用presenter发布的tripName来定义标题,因此当用户键入时,它就会更新,而保存按钮则会保存任何更改。 构建并运行,现在,您可以编辑trip标题。

    17.5K10

    用NavigationViewKit增强SwiftUI的导航视图

    用NavigationViewKit增强SwiftUI的导航视图 如果想获得更好的阅读体验,请访问我的博客 www.fatbobman.com[1] 最近一直在为我的iOS健康管理app健康笔记3.0[...•在iPad下,无法在竖屏(Portrait)模式下保持双状态 因此,在这次开发的准备阶段,我写了一个针对NavigationView的扩展库——NavigationViewKit[3]。...由于NavigationgViewManager支持多导航视图管理,因此需要为每个受管理的导航视图进行注册。...当竖屏时,左侧默认会隐藏,容易让新用户无所适从。 TipOnceDoubleColumnNavigationViewStyle会在iPad首次进入竖屏状态时,将左侧显示在右侧上方,提醒使用者。...,且左侧不可隐藏

    3.2K20

    iOS 9人机界面指南(四):UI元素(上) - 腾讯ISUX

    当键盘被唤起、用户使用了手势、或者当前视图变为竖屏的情况下,导航可以隐藏。...在用户需要专注于内容的时候,可以考虑隐藏导航。当你这么做的时候,请确保用户通过一个简单的手势(比如一下轻击)即可重新唤起导航。 ?...4.2.10 分栏视图控制器 分栏视图控制器一个用于管理两个相邻视图控制器显示的全屏视图控制器。 ? API注释 每一个对分视图控制器的子视图负责管理一个窗格的展现。...举个例子,对分视图: 可以在横屏环境中展示并排展示两个窗格 可以让主窗格在详情窗格上方显示,也可以在不需要的时候(尤其是竖屏情况下)隐藏主窗格。...默认情况下,竖屏方向时只会展示右侧窗格,因此你需要向用户提供一个按钮(通常位于导航上)来让用户唤起和隐藏主窗格。对分视图控制器也支持轻扫手势来执行呼出和隐藏的动作。

    10.1K51

    iOS:分割控制器UISplitViewcontroller

    分割控制器UISplitViewController 功能:它也是ipad的一个新特性,在屏幕上可以同时显示两个控制器,左边一个,右边一个;左边的为主控制器,右边的为详细控制器,主控制器可以根据需要显示或隐藏...Split View有两个ViewControllers,一个左侧一个右侧,左侧叫Master,右侧叫Detail。...在iPad上的基本样式截图为: 在故事板布局的样式截图为: 下面我们就通过纯代码的方式创建如下: 1、创建两个控制器类,一个为主控制器类MasterViewController,一个为详细控制器类...MasterNavigationController = [[UINavigationController alloc]initWithRootViewController:MasterVC]; //创建右侧导航控制器...Master的导航和按钮,并设置表格视图的数据源和代理 - (void)viewDidLoad { [super viewDidLoad]; //创建UITableView

    2K30

    iOS状态使用总结

    目录: 一、状态导航 二、设置状态显隐与字体样式 三、设置状态背景色 四、启动页隐藏状态 五、状态导航相关的常用宏定义 相关文章:iOS导航的使用总结 一、状态导航 状态...分页控制:在视图控制器里通过prefersStatusBarHidden方法设置。...代码的位置很重要;在AppDelegate中写入可以设置整个App页面的状态样式; 如果需要单独设置其中一个页面隐藏状态,需要在进入页面时设置隐藏,退出页面时设置显示,以保证不影响其他页面的状态样式...//return NO; //设置状态显示 } 但是,这里存在一个问题:如果当前视图控制器是UINavigationController的子视图控制器,preferredStatusBarStyle...这是因为导航控制器里的preferredStatusBarStyle才具有修改状态样式的能力,解决这个问题的方法有两种: 方法1:添加子类导航控制器 我们需要使用自定义的子类导航控制器,在其中添加如下的代码

    1.9K30

    XcodeXcode 9 的全新功能您会喜欢的工具。内建 Interface BuilderXcode IDE

    基于 Swift 4 的兼容性,Xcode 9 使用同一个编译器来构建已有的 Swift 3 代码和最新的 Swift 4 代码。从此,数据迁移的节奏,您说了算。...Swift 4 得助于 Apple 领导的 Swift.org 开源社区, Swift 中的构建过程非常高速,同时,它也能生产出运行更快的 app 及体积更小的可执行文件。...新的 Swift 4 编译器现已兼容 Swift 3 代码。您可以轻松地在眨眼之间迁移数据至 Xcode 9:在您的 app 中选择准备转移至 Swift 4 的部分,余下部分可稍后再进行迁移。...使用 Test Navigator (测试导航器),可以轻而易举地跳转到项目中的任何测试、执行一个单独的测试或者执行一组测试。...Xcode 包括以下 Storyboard 控制器: 表格视图控制器 集合视图控制器 导航控制器 标签控制器 页面视图控制器 GLKit 视图控制器 或自定义 Assistant 编辑 Storyboard

    8.3K30

    玩转 Xcode Playground(上)

    新建的 Playground 项目默认只有一个 Page(单 Page 模式下,左侧的导航中 Page 和 Playground 项目将合并显示)。每个 Page 都可以设置对应的实时视图。...image-20211223164606421 在 Xcode 中,通过 File 菜单或在导航 Playground 项目上点击右键,可以创建新的 Playground Page。...在 Swift Playgrounds 4 中,点击侧边的编辑按钮,进入编辑模式,点击+按钮可创建新的 Page。...通过导入 PlaygroundSupport 并将当前页面的实时视图设置为你的自定义视图视图控制器,就可以将一个交互式实时视图添加到 Playground Page 中。...image-20211224105528272 实时视图支持 SwiftUI 视图以及 UIKit(AppKit)的视图视图控制器。SwiftUI 视图需要通过 setLiveView 来设定。

    4K20

    iOS之深入解析Xcode 13正式版发布的40个新特性

    十二、Instruments Instruments 中的调用树视图和扩展详细信息视图现在用“[inlined]”标记指示内联函数; 通过详细视图导航更容易发现不同的视图。...; 现在可以使用键盘选择和导航大纲视图组,例如 Constraints; Interface Builder 有一个重新设计的画布底部,带有用于更改设备和布局的弹出窗口,以及用于更改设备外观和方向的开关...和 UIToolbar 检查器现在支持配置 UIBarAppearance 实例; UIButton 和 UISlider 支持为使用 Mac Catalyst 构建的应用程序选择首选的行为风格; 在视图控制器的大小检查器中使用...十九、Project Navigator 当 Products 组位于默认位置时,项目导航器会隐藏它; Move Focus to Editor 命令现在解释 vim 方向移动键; schema 编辑表不再有最大尺寸...如果新行为不适合您的用例,请将 spellCheckingType 设置为 UITextSpellCheckingTypeNo 以隐藏 QuickType

    8.8K40
    领券