iOS 控制器的跳转、页面四个方向的跳转
2017-04-25 18:33
513 查看
指定滑动方向的跳转
控制器禁止右滑返回
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 }
span.s1 { }
span.s2 { font: 12.0px ".PingFang SC" }
#import "UINavigationController+FDFullscreenPopGesture.h"
控制器禁止系统的右滑返回 self.fd_interactivePopDisabled=YES;
1、任意跳转控制器
//比如:在后台收到消息指令时,要让应用跳转到某个控制器, x 代表第几个根视图(首页,消息,我的 。 分别是:0 1 2 ),任意视图跳转哦
self.tabBarController.selectedViewController = self.tabBarController.childViewControllers[X];
[self.navigationController popToRootViewControllerAnimated:YES];
2、获取所处到控制器, 并且跳到指定到Controller 或者删除指定到Controller
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px "PingFang SC"; color: #008400 }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; min-height: 13.0px }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000 }
span.s1 { color: #000000 }
span.s2 { color: #4f8187 }
span.s3 { }
span.s4 { color: #3e1e81 }
span.s5 { font: 11.0px Menlo; color: #000000 }
span.s6 { font: 11.0px Menlo }
span.s7 { color: #31595d }
span.s8 { color: #008400 }
span.s9 { font: 11.0px "PingFang SC"; color: #008400 }
span.s10 { color: #703daa }
span.s11 { color: #272ad8 }
CATransition *transition = [CATransition animation]; transition.duration = 0.3f; transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]; transition.type = kCATransitionPush; transition.subtype = kCATransitionFromTop; [self.navigationController.view.layer addAnimation:transition forKey:nil]; LiveViewController *createLiveView = [[LiveViewController alloc] init]; [self.navigationController pushViewController:createLiveView animated:NO];
控制器禁止右滑返回
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 }
span.s1 { }
span.s2 { font: 12.0px ".PingFang SC" }
#import "UINavigationController+FDFullscreenPopGesture.h"
控制器禁止系统的右滑返回 self.fd_interactivePopDisabled=YES;
1、任意跳转控制器
//比如:在后台收到消息指令时,要让应用跳转到某个控制器, x 代表第几个根视图(首页,消息,我的 。 分别是:0 1 2 ),任意视图跳转哦
self.tabBarController.selectedViewController = self.tabBarController.childViewControllers[X];
[self.navigationController popToRootViewControllerAnimated:YES];
2、获取所处到控制器, 并且跳到指定到Controller 或者删除指定到Controller
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px "PingFang SC"; color: #008400 }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; min-height: 13.0px }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000 }
span.s1 { color: #000000 }
span.s2 { color: #4f8187 }
span.s3 { }
span.s4 { color: #3e1e81 }
span.s5 { font: 11.0px Menlo; color: #000000 }
span.s6 { font: 11.0px Menlo }
span.s7 { color: #31595d }
span.s8 { color: #008400 }
span.s9 { font: 11.0px "PingFang SC"; color: #008400 }
span.s10 { color: #703daa }
span.s11 { color: #272ad8 }
AppDelegate * app =[UIApplication sharedApplication].delegate; //获取当前视图 (详细获取 见:下面👇) UIViewController * viewNow = [self topViewControllerWithRootViewController:[UIApplication sharedApplication].keyWindow.rootViewController]; //获取视图组 NSMutableArray *marr = [[NSMutableArray alloc]initWithArray:viewNow.navigationController.viewControllers]; //1 这个时要显示到Controller UIViewController * view0 =marr[0]; [marr setArray:@[view0]]; viewNow.navigationController.viewControllers = marr; //2 这个时要删除指定到Controller for (UIViewController *vc in marr) { if ([vc isKindOfClass:[theVCYouWantToRemove class]]) { [marr removeObject:vc]; break; } } self.navigationController.viewControllers = marr; //////////////////////////获取当前到控制器////////////////////// -(UIViewController*)topViewControllerWithRootViewController:(UIViewController*)rootViewController { if ([rootViewController isKindOfClass:[UITabBarController class]]) { UITabBarController *tabBarController = (UITabBarController *)rootViewController; return [self topViewControllerWithRootViewController:tabBarController.selectedViewController]; } else if ([rootViewController isKindOfClass:[UINavigationController class]]) { UINavigationController* navigationController = (UINavigationController*)rootViewController; return [self topViewControllerWithRootViewController:navigationController.visibleViewController]; } else if (rootViewController.presentedViewController) { UIViewController* presentedViewController = rootViewController.presentedViewController; return [self topViewControllerWithRootViewController: presentedViewController]; } else { return rootViewController; } }
相关文章推荐
- iOS 点击远程通知消息,如何跳转到指定页面(控制器)
- iOS 控制器跳转时打开关闭页面动画
- iOS tabbar和navigation组合,点击item两次,会pop到上一个页面,解决不让控制器跳转的方法
- iOS从不同页面跳转回到指定控制器
- iOS-非父子控制器跳转(如:从某一导航控制器的子页面跳转到另一个tabbar控制的页面)
- 学校学习ios教程笔记,第十节初识ios中的导航栏控制器页面跳转(UINavigationController)和模态
- iOS 视图控制器转场动画/页面切换效果/跳转动画 学习
- iOS 点击远程通知消息,跳转到指定页面 (控制器)
- iOS 在其他页面跳转到tabBarController的子控制器
- IOS 页面跳转控制器有延迟
- iOS页面跳转及数据传递
- ios ViewController 页面跳转
- IOS开发之页面跳转
- ios页面跳转基础
- IOS 疯狂基础之 页面间跳转
- 导航控制器Navigation实现页面跳转
- IOS 页面跳转方式总结
- codeigniter修改内核在调用前控制器方法前输出内容并中止方法调用,如用于未登录跳转到登录页面
- ios两页面跳转实现
- ios学习:页面跳转(present)