1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > NavigationController 常用方法归总

NavigationController 常用方法归总

时间:2021-02-14 02:29:13

相关推荐

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。