各位老铁们,大家好,今天由我来为大家分享揭秘1:深度探索未知领域的精彩发现,以及的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
初始化
1. 初始化()
2. init(coder: NSCoder) //根据存储的数据创建
3. init(nibName:#T##String?#, bundle:#T##Bundle?#) //创建xib
4. init(rootViewController: UIViewController) //通过UIViewController创建。
5. init(navigationBarClass:#T##AnyClass?#,toolbarClass:#T##AnyClass?#) //通过类创建对象。 2.导航控制控制器跳转
1添加导航控制器
创建导航控制器
让RootNavigatonVc=UINavigationController.init(rootViewController: RootViewController.init())
RootNavigatonVc.delegate=self;设置主窗口
window?rootViewController=RootNavigatonVc2 设置跳转按钮
让NwBtn=UIButton.init(type:custom)
NwBtn.frame=CGRect.init(x: 20, y: 120, width: UIScreen.main.bounds.width - 40, height: 60)
NwBtn.backgroundColor=UIColor.洋红色
NwBtn.setTitle("导航跳转", for:normal)
NwBtn.setTitleColor(UIColor.white, for:normal)
NwBtn.addTarget(self, action: #selector(pushToVc), for:touchUpInside)
self.view.addSubview(NwBtn)按钮方法的实现(包括跳转方法)
func pushToVc() -Void {
如何控制页面跳转
open func PushViewController(_ viewController: UIViewController,animated: Bool)
让pushVc=JumpViewController.init()
self.navigationController?pushViewController(pushVc,animated: true)
}3 导航返回方法
导航返回到上一个控制器
self.navigationController?popViewController(animated: true) 导航返回根导航控制器
self.navigationController?popToRootViewController(animated: true) 可以跳转到堆栈中的任何控制器
让NavVcs=self.navigationController?childViewControllers;
self.navigationController?popToViewController((NavVcs?[1])!animated: true) 3.导航头和标题的修改和定义
设置导航标题
self.navigationItem. 修改导航标题的样式
self.navigationController?navigationBar.titleTextAttributes=[NSForegroundColorAttributeName:UIColor.red,NSFontAttributeName:UIFont.italicSystemFont(ofSize: 20)] 导航左侧按钮
let leftBarButtonItem=UIBarButtonItem.init(image: UIImage.init(named: "1"), style:plain, target: self, action: #selector(leftBarButtonItemMethod(_:)))设置按钮
第一种:
self.navigationItem.setLeftBarButton(item: UIBarButtonItem?animated: Bool)第二种类型:
self.navigationItem.leftBarButtonItem=leftBarButtonItem self.navigationItem.leftBarButtonItem=leftBarButtonItem右按钮
让rightBarButtonItem=UIBarButtonItem.init(title: "确定", style:plain, target: self, action: #selector(rightBarButtonItemMethod(_:)))
self.navigationItem.rightBarButtonItem=rightBarButtonItem 修改按钮文字的样式
self.navigationItem.rightBarButtonItem?setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.purple], for:normal)4.获取导航堆栈中的控制器。电流控制器。获取导航的顶部控制器。
1收购所有控制人
//TODO: 获取当前导航堆栈中的所有控制器
让NavVcs=self.navigationController?viewControllers
print(NavVcs!)2 当前控制器
获取当前显示的控制器
让CurVc=self.navigationController?visibleViewController
如果CurVc==self {
打印("相同")
}3 获取某个导航的顶层控制器
获取导航堆栈的顶层控制器
让TopVc=self.navigationController?topViewController
打印(TopVc!)5。隐藏和显示导航控制器
1基本隐藏和显示
显示和隐藏导航
self.navigationController?isNavigationBarHidden=true
self.navigationController?setNavigationBarHidden(false,animated: true)2 上下滑动控制器隐藏和显示控制器
//TODO : 这是当控制器上下滑动时,导航显示和隐藏。
self.navigationController?hidesBarsOnSwipe=true3 仅当用户单击控制器时显示和隐藏导航
//TODO : 这是当用户单击控制器时,导航显示和隐藏。
self.navigationController?hidesBarsOnTap=true4 键盘弹出将隐藏导航栏
//TODO : 这意味着当键盘出现时,导航将被隐藏。
self.navigationController?hidesBarsWhenKeyboardAppears=true5 当页面垂直紧凑时,导航栏将被隐藏
//TODO : 当导航栏垂直尺寸比较紧凑时,导航栏自动隐藏。
self.navigationController?hidesBarsWhenVerticallyCompact=true6。获取上下滑动控制器隐藏导航栏的手势。单击控制器可隐藏导航栏手势。
1隐藏上下导航手势
//TODO : 获取上下滑动隐藏导航的手势
让OnSwipeGesture=self.navigationController?barHideOnSwipeGestureRecognizer
OnSwipeGesture?maximumNumberOfTouches=22 单击隐藏导航手势
//TDOD : 获取点击控制器隐藏导航的手势
让OnTapGesture=self.navigationController?barHideOnTapGestureRecognizer
OnTapGesture?numberOfTouchesRequired=27. 隐藏导航工具栏
控制导航是否显示底部工具栏
self.navigationController?isToolbarHidden=false
self.navigationController?setToolbarHidden(true,animated: true) 8.设置滑动屏幕左侧是否可以返回
导航可以滑动屏幕左侧返回吗?
self.navigationController?interactivePopGestureRecognizer?delegate=self9,UINavigationControllerDelegate的代理
//这是每次导航跳转时都会调用的函数。
func navigationController(_ navigationController: UINavigationController,didShow viewController: UIViewController,animated: Bool){
//当前页面控制器和跳转后的控制器
打印(导航控制器,视图控制器)
}//每次导航跳转发生前调用的函数
func navigationController(_ navigationController: UINavigationController,willShow viewController: UIViewController,animated: Bool){
//当前页面控制器和要跳转到的控制器
打印(导航控制器,视图控制器)
} //导航支持的屏幕方向
func navigationControllerSupportedInterfaceOrientations(_ navigationController: UINavigationController) -UIInterfaceOrientationMask {
返回.全部
} //导航优先支持的屏幕方向
func navigationControllerPreferredInterfaceOrientationForPresentation(_ navigationController: UINavigationController) -UIInterfaceOrientation {
返回.肖像
【揭秘1:深度探索未知领域的精彩发现】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
好奇这篇文章讲什么,内容会不会很精彩?
有10位网友表示赞同!
标题简洁明了,让人不禁想点进去看看。
有15位网友表示赞同!
也许这是系列文章的第一篇?期待后续的分享。
有12位网友表示赞同!
数字“1”寓意着新开始,这篇文字很有可能是全新的观点。
有18位网友表示赞同!
看到“1”,脑海里浮现出很多事物:第一、初始、独一无二…
有10位网友表示赞同!
希望这篇文章能够给我带来新的启发和思考。
有17位网友表示赞同!
数字“1”给人一种力量感,期待文章的精彩内容。
有7位网友表示赞同!
简洁的标题,似乎在引诱我更深入地去了解它。
有15位网友表示赞同!
不知道这篇文章会带给我怎样的感受?
有13位网友表示赞同!
我很喜欢这种直白的表达方式,很吸引人!
有5位网友表示赞同!
"1" 让人联想到很多可能性,期待揭开这个谜团。
有11位网友表示赞同!
这篇文能让我对 “一” 的含义有更深的理解吗?
有9位网友表示赞同!
感觉这篇文章应该是关于开始或起源的故事吧?
有11位网友表示赞同!
标题像一个数字符码,预示着一种未知的体验。
有8位网友表示赞同!
单一的“1” ,却承载着无限的可能,期待读到你文的感受!
有15位网友表示赞同!
这个数字隐藏了什么秘密?赶紧进入文章探索吧。
有19位网友表示赞同!
这篇文章一定很有创意,能用"1" 概括如此深刻的内容。
有7位网友表示赞同!