控制器生命周期细节讲解
来源:互联网 发布:建筑外观效果图软件 编辑:程序博客网 时间:2024/06/16 05:46
许多APP都采用了侧滑控制器代替导航栏返回操作,不知道的效果伴们参考下面代码。
一、实现侧滑返回
第一步:在根导航栏控制器中加入如下代码:
id target =self.interactivePopGestureRecognizer.delegate;
UIPanGestureRecognizer *pan = [[UIPanGestureRecognizeralloc] initWithTarget:targetaction:@selector(handleNavigationTransition:)];
pan.delegate =self;
[self.viewaddGestureRecognizer:pan];
self.interactivePopGestureRecognizer.enabled =NO;
@interface LenNavigationController ()<UIGestureRecognizerDelegate>
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {
if (self.childViewControllers.count == 1)
{
return NO;
}
return YES;
}
这种侧滑如果所有页面都有显示导航栏的话基本不用做下面的操作,怕就怕有些地方需要隐藏导航栏,全屏显示页面,不用担心,新编教你一招。
二、侧滑返回导致导航栏标题显示错误
一级页面没有显示导航栏,二级页面显示导航栏,在侧滑返回拖拽不完全时,导航栏上的标题惨不忍睹,解决办法就是我们需要在控制器UIViewController中添加视图生命周期方法ViewWillApper ViewWillDisapper,页面出现和消失,相信很多初级开发者都是直接写代码了,一般不会添加代码:
[super viewWillDisappear:animated];
1⃣️[self.navigationControllersetNavigationBarHidden:NOanimated:animated];//以页面消失为例
不建议用下面代码:
2⃣️self.navigationController.navigationBarHidden =NO;
代码2⃣️就会导致侧滑时导航栏标题显示错误,push到子页面时,导航栏标题还是上一个页面的。具体为什么会出现这个问题,小编一开始也没搞懂,一万个为什么从眼前飘过,后面经过调试,找到解决方法就是方法1⃣️,然后在需要的地方添加这行代码,此类测试的bug瞬间就解决了。
不知道各位大神or菜鸟们你们是否也遇到同样的问题,如果看了我写的还不明白的可以加Q363819948联系,小编是非常乐意与您交流的技术的
- 控制器生命周期细节讲解
- 通俗易懂的讲解iphone视图控制器的生命周期
- 通俗易懂的讲解iphone视图控制器的生命周期
- 控制器生命周期
- 控制器生命周期
- SpringMVC细节细节讲解
- 控制器显示细节
- 视图控制器的生命周期
- 5 视图控制器生命周期
- 视图控制器的生命周期
- 试图控制器。生命周期UIViewController
- 视图控制器的生命周期
- 视图控制器的生命周期
- 视图控制器的生命周期
- 57-控制器的生命周期
- 控制器的生命周期
- 控制器的生命周期
- 控制器的生命周期
- java反射笔记
- Problem_1015
- 在Xcode中使用Git进行源码版本控制
- 91. Decode Ways
- tune performance
- 控制器生命周期细节讲解
- linux系统基础及简单安装步骤
- iOS个人整理38-贝塞尔曲线和帧动画结合
- Unity中简单使用Opengl
- binder第一课
- description方法
- ubuntu svnserver 配置
- WebView的使用
- c++复习要点总结之九——继承二