NavigationController 常用方法归总
首先是navigationcontroller的结构图。可以有n多个子控制器,每一个子控制器都包含一个默认的navigationitem,navigationitem中又包括了常用到的title,backbarbuttonitem,left和right barbuttonitem,titleview
//隐藏navigationbar的方法
self.navigationController?.hidesBarsOnTap = true //动态点击隐藏和展示
self.navigationController?.hidesBarsOnSwipe = true //动态滑动隐藏和展示,还比如tableview等滑动的时候
self.navigationController?.hidesBarsWhenVerticallyCompact = true //当屏幕发生横向旋转的时候动态隐藏掉导航栏
self.navigationController?.hidesBarsWhenKeyboardAppears = true //当键盘弹出时动态隐藏掉导航栏
self.navigationController?.hidesBottomBarWhenPushed = true //当视图被push(就是nav的push)完之后是否隐藏底层的bar,YES表示隐藏,NO表示不隐藏。
self.navigationController?.isNavigationBarHidden // 判断是否navigationbar已经被隐藏了
//隐藏navigationbar的手势回调方法单击
lazy var barHideOnTap = self.navigationController?.barHideOnTapGestureRecognizer
//隐藏navigationbar的手势回调方法滑动
lazy var barHideOnSwipe = self.navigationController?.barHideOnSwipeGestureRecognizer
barHideOnTap?.addTarget(self, action: #selector(onTapGestureRecognizerSelect(gender:)))
barHideOnSwipe?.addTarget(self, action: #selector(onSwipeGestureRecognizerSelect(gender:)))
@objc func onSwipeGestureRecognizerSelect(gender: UISwipeGestureRecognizer) {
//isNavigationBarHidden 判断navigationbar是否被隐藏了
if self.navigationController?.isNavigationBarHidden == true {
print("navigation bar 被隐藏了")
} else {
print("navigation bar 显示了")
}
}
@objc func onTapGestureRecognizerSelect(gender: UITapGestureRecognizer) {
//isNavigationBarHidden 判断navigationbar是否被隐藏了
if self.navigationController?.isNavigationBarHidden == true {
print("navigation bar 被隐藏了")
} else {
print("navigation bar 显示了")
}
}
lazy var topViewController = self.navigationController?.topViewController
//当前可见的viewcontroller
lazy var visibleViewController = self.navigationController?.visibleViewController
//当前在栈中存在的所有view controller
lazy var viewControllers = self.navigationController?.viewControllers
NavigationController 常用方法归总相关推荐
- 30 个 php 操作 redis 常用方法代码例子
这篇文章主要介绍了 30 个 php 操作 redis 常用方法代码例子 , 本文其实不止 30 个方法 , 可以操作 string 类 型. list 类型和 set 类型的数据 , 需要的朋友可以 ...
- SearchRequestBuilder常用方法说明
SearchRequestBuilder常用方法说明 (1) setIndices(String... indices):上文中描述过,参数可为一个或多个字符串,表示要进行检索的index:(2) s ...
- 3-RACSignal 常用方法
RACSingal的常用方法 一 基本使用 1map // 0 创建信号提供者// RACSubject,既能发送信号,又能订阅信号// 多用于代理,相当于OC里的delegate或者回调blockR ...
- self.navigationController push到指定控制器
1 返回到当前页面上面第三级控制器int idx = (int)[[self.navigationController viewControllers]indexOfObject:self]; [se ...
- AJAX 一些常用方法
AJAX 一些常用方法 abort() 停止当前请求 getAllResponseHeaders() 返回包含HTTP请求的所有响应头信息,其中响应头包括Content-Length,Date,URI ...
- iOS-UIViewController视图控制器跳转界面的几种常用方法
一.最普通的视图控制器UIViewContoller 一个普通的视图控制器一般只有模态跳转的功能(ipad我不了解除外,这里只说iPhone),这个方法是所有视图控制器对象都可以用的,而实现这种功能, ...
- OC基础第四讲--字符串、数组、字典、集合的常用方法
OC基础第四讲--字符串.数组.字典.集合的常用方法 字符串.数组.字典.集合有可变和不可变之分.以字符串为例,不可变字符串本身值不能改变,必须要用相应类型来接收返回值:而可变字符串调用相应地方法后, ...
- vue——props的两种常用方法
vue--props的两种常用方法 1.实现父-->子的通信 举例如下: 父组件 parent.vue <children :channel="object1"> ...
- C#中静态方法的运用和字符串的常用方法(seventh day)
又来到了今天的总结时间,由于昨天在云和学院学的知识没有弄懂,今天老师又专门给我们非常详细地讲了一遍,在这里非常谢谢老师.O(∩_∩)O 话不多说,下面就开始为大家总结一下静态方法的运用和字符串的常用方 ...
最新文章
- YARN集群维护部分问题汇总
- 原 Ubuntu使用VNC运行基于Docker的桌面系统
- Android实战——第三方服务之Bmob后端云的推送服务的集成和使用(三)
- ssl初一组周六模拟赛【2018.3.10】
- rpc 服务器不可用_RPC和微服务
- highscore软件_软件|标准物质PDF卡片查找HighScore
- 实战系列-Java中线程安全集合类(二)
- @程序员,别再让 Hotplug 问题难住你!
- 页面制作(PS/HTML/CSS)易错点总结
- 用C语言写一个查单词的小demo
- java进制转换工具(图形界面版)
- 组合数学之二 —— 容斥原理及应用
- 怎样将PDF转成EXCEL
- ecshop 匿名购买 买家可以自由选择是否匿名购买,仿淘宝匿名购买
- 相约2023 | 第 20 期高级转录组分析和R数据可视化火热报名中!!!
- python word保存图_python实现word内图片的提取
- 2C4T与4C4T在计算密集型任务下的效率对比
- dlink交换机(DLINK交换机灯)
- intel历代架构演进6—— SIMD指令集
- idea import javafx.util.Pair 异常原因