以iPhone 6splus手机为例,可参考以下步骤设置滑动返回:
创新互联专业为企业提供贾汪网站建设、贾汪做网站、贾汪网站设计、贾汪网站制作等企业网站建设、网页设计与制作、贾汪企业网站模板建站服务,十载贾汪做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
1、打开手机“设置”。在设置界面,点击“通用”。
2、点击“辅助功能”。
3、点击“辅助触控”。
4、将辅助触控的按钮变绿。
5、点击“自定顶层菜单”,点击“+”。
6、点击上方的“+”。
7、勾选“主屏幕”然后点击“完成”。
8、看一下悬浮小球的效果。已经有主屏幕了,想返回主屏幕的时候,点击这个标志,就可以返回主屏幕。
前提条件,存在A和B两个页面,A是主界面,A push 到 B
方法一:如果B页面的返回按钮要用自定义的按钮(在iOS7中,如果使用了UINavigationController,那么系统自带的附加了一个从屏幕左边缘开始滑动可以实现pop的手势。但是,如果自定义了navigationItem的leftBarButtonItem,那么这个手势就会失效。)
在A界面:
- (void)viewDidAppear:(BOOL)animated {
self.navigationController.interactivePopGestureRecognizer.delegate = (id)self;//重新设置代理
self.navigationController.interactivePopGestureRecognizer.enabled = NO;//本页面不能右滑
}
在B里面:
设置返回按钮:
UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];
backBtn.frame = CGRectMake(5, 2, 21, 35);
[backBtn setImage:[UIImage imageNamed:@"back"] forState:UIControlStateNormal];
[[backBtn rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(id x) {
[self.navigationController popViewControllerAnimated:YES];
}];
UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithCustomView:backBtn];
self.navigationItem.leftBarButtonItem = backItem;
self.navigationController.interactivePopGestureRecognizer.enabled = YES;//最重要的一步
方法二:在A页面里面(A页面里面的backBarButtonItem其实就是我们看到的B页面的返回按钮,B页面的leftBar是左侧的按钮,注意优先级,B里面有自定义leftBar,显示B页面的,如果没有,看A界面,如果里面有backBarButtonItem,显示,如果没有,就是系统默认的那个)
UIImage* image = [UIImage imageNamed:@"back"];
UIBarButtonItem *item = [[UIBarButtonItem alloc] init];
[item setBackButtonBackgroundImage:[image resizableImageWithCapInsets:UIEdgeInsetsMake(0, image.size.width, 0, 0)] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[item setBackButtonTitlePositionAdjustment:UIOffsetMake(-400.f, 0) forBarMetrics:UIBarMetricsDefault];
self.navigationItem.backBarButtonItem = item;
self.navigationItem.backBarButtonItem = item;
我采用的是方法一,方法二我没有办法调整返回按钮的位置
//开启侧滑
1.第一次push进来的时候两个方法都会调用,parent的值不为空。
2.当开始使用系统侧滑的时候,会先调用willMove,而parent的值为空;
3.当滑动结束后返回了上个页面,则会调用didMove,parent的值也为空,如果滑动结束没有返回上个页面,也就是轻轻划了一下还在当前页面,那么则不会调用didMove方法。
当然,直接点击返回按钮,这两个方法也会调用。可以判断parent的值是否为空,进行具体的操作。
//开启侧滑
//关闭侧滑
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:YES];
}
1、通过向左滑动返回:ios可以在任意应用程序的任意界面实现左滑返回,只需要向左滑动即可返回到上一个界面;
2、第一步:拿好自己的手机,不要激动,在主屏幕中找到设置选项,点击设置,第二步:在设置中,找到《通用》,打开通用。第三步:在通用里,找到《辅助功能》,打开辅助功能。第四步:在辅助功能区,找到《AssistiveTouch》,打开《AssistiveTouch》第五步:此时AssistiveTouch显示关闭状态,点击AssistiveTouch,打开会出现屏幕快捷按钮。第六步:点击下方的,《自定顶层菜单》,可以自由更换屏幕快捷键的内容。点击《+》号、《-》号,可以添加快捷键的不同选项。
有时候希望在页面退出之前做一些事情,但是发现除了 popViewController 方法外,有时候会使用侧滑返回。这个时候就需要捕捉侧滑返回的事件了。
//苹果的api说明 与侧滑返回相关
在当前控制器中重写这两个方法就可以了。
1.第一次push进来的时候两个方法都会调用, parent的值不为空 。
2.当开始使用系统侧滑的时候,会先调用willMove, 而parent的值为空 ;
3.当滑动结束后返回了上个页面,则会调用didMove, parent的值也为空 ,如果滑动结束没有返回上个页面,也就是轻轻划了一下还在当前页面,那么则不会调用didMove方法。
想要在侧滑返回后在上个页面做一些操作的话,可以在didMove方法中根据parent的值来判断。