容器类 视图控制器 页面之间的跳转
来源:互联网 发布:社交软件市场分析 编辑:程序博客网 时间:2024/06/06 07:12
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindowalloc]initWithFrame:[UIScreenmainScreen].bounds];
self.window.backgroundColor = [UIColorwhiteColor];
[self.windowmakeKeyAndVisible];
//设置根视图控制器
self.window.rootViewController = [ContainerViewControllernew];
return YES;
}
======================================
@implementation ContainerViewController
- (void)viewDidLoad {
[superviewDidLoad];
self.view.backgroundColor = [UIColorblueColor];
self.loginVC = [[LoginViewControlleralloc]init];
//添加控制器
[selfaddChildViewController:self.loginVC];
self.registerVC = [[RegisterViewControlleralloc]init];
[selfaddChildViewController:self.registerVC];
self.findPwdVC = [[FindPwdViewControlleralloc]init];
[selfaddChildViewController:self.findPwdVC];
//默认显示登录页面
[self.viewaddSubview:self.loginVC.view];
//添加切换页面的分段控制器
//segmentedControl必须跟视图显示的层次相一致。
UISegmentedControl *segmentCongtrol = [[UISegmentedControlalloc]initWithItems:@[@"登录",@"注册",@"找回密码"]];
segmentCongtrol.frame =CGRectMake(10,self.view.frame.size.height-45,self.view.frame.size.width -40 , 40);
[self.viewaddSubview:segmentCongtrol];
//默认选中的哪一段
segmentCongtrol.selectedSegmentIndex =0;
//绑定事件
[segmentCongtrol addTarget:selfaction:@selector(segmentedControlAction:)forControlEvents:UIControlEventValueChanged];
}
-(void)segmentedControlAction:(UISegmentedControl *)sender
{
NSLog(@"%@",self.view.subviews);
//将子视图中的第一个视图移除
[self.view.subviews[0]removeFromSuperview];
//这是一种很麻烦的写法
// switch (sender.selectedSegmentIndex) {
// case 0:
// [self.view insertSubview:_loginVC.view atIndex:0];
// break;
// case 1:{
// [self.view insertSubview:_registerVC.view atIndex:0];
// break;
// }
// case 2:{
// [self.view insertSubview:_findPwdVC.view atIndex:0];
// break;
// }
// }
//管理的是控制器,影响的是页面。
//不需要关注当前是哪一个视图,只要提取其中的一个子控制器的view来显示就可以了。
//通过sender.selectedSegmentIndex获取当前将要显示的控制器,并把控制器的视图插入到self.view中。
//获取到子控制器
[self.viewinsertSubview: ((UIViewController *)(self.childViewControllers[sender.selectedSegmentIndex])).viewatIndex:0];
//将上面的一句话拆分两句话。
// UIViewController *vc = self.childViewControllers[sender.selectedSegmentIndex];
//
// [self.view insertSubview:vc.view atIndex:0];
}
- 容器类 视图控制器 页面之间的跳转
- iOS开发UIViewCOntroller视图控制器之间跳转切换举例,以及视图控制器生命周期的简单说明
- 多控制器之间的跳转
- 【iOS开发-20】UIViewCOntroller视图控制器之间跳转切换举例,以及视图控制器生命周期的简单说明
- 视图控制器之间的切换
- UINavigationControlle(导航视图控制器)控制下的页面跳转与值的传递(协议传值)
- iOS开发之UIViewController视图控制器之间跳转
- 页面跳转的两个方法 1导航视图控制器 2模态
- iOS视图控制器的跳转方法
- 自定义视图控制器容器
- 容器视图控制器
- UI_容器视图控制器
- iOS 容器视图控制器
- 容器视图控制器
- UI - 视图控制器之间的值传递
- 视图控制器ViewControllers之间的数据传递
- tabbar视图控制器之间的切换
- 控制器与导航控制器及之间的相互跳转
- noip2011 mayan游戏 (深搜)
- 含有构造函数反射生成java类
- compileSdkVersion和targetSdkVersion的区别
- Redis 禁用FLUSHALL FLUSHDB KEYS 命令
- php使用MemCache查询数据库
- 容器类 视图控制器 页面之间的跳转
- Android中ListView异步加载数据
- android中ListView的HeaderView的Padding详解
- 心跳(王力宏)C
- spring mvc获取request HttpServletRequest
- Linux下检测FTP服务并开启FTP服务
- Linux 强大的nohup(进程后台执行)
- apache/mysql/php(wamp環境配置)
- SourceInsight 日文乱码 问题解决方案