UI_ContainerViewController

1. 创建ContainerViewController.h / .m,设置背景颜色
2. 设置window和根视图控制器
3. 创建LoginViewController和LoginView,绑定并且设置背景色
4. 创建RegisterViewContrller和ReigsterView,绑定并设置背景色
5. 创建FindPwdViewController和FindPwdView,绑定并设置背景色
6. 引入
7. 声明属性,并且dealloc
8. 创建子控制器(属性),并且使用addChildViewController:添加子控制器到容器控制器中

9. 设置默认显示的页面

// 1. 声明了子控制器属性
@property (nonatomic, retain) LoginViewController *loginVC;
@property (nonatomic, retain) RegisterViewController *registerVC;
@property (nonatomic, retain) FindPwdViewController *findPwdVC;

@end

// 以登录视图为例

- (void)viewDidLoad
{

[super viewDidLoad];

// 3. 创建出来子控制器,然后添加到容器控制器中
self.loginVC = [[LoginViewController new] autorelease];
[self addChildViewController:_loginVC]; // 给容器控制器对象,添加子控制器


// 4. 显示登录视图
// 将子控制器上的View,添加到容器控制器的View上
[self.view addSubview:_loginVC.view];




10. 添加切换按钮(UISegmentedControl)

// 5. 添加切换的按钮
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:@[@"登录", @"注册", @"找回密码"]];
segmentedControl.frame = CGRectMake(5, CGRectGetHeight([UIScreen mainScreen].bounds) - 40, CGRectGetWidth([UIScreen mainScreen].bounds) - 10, 35);
segmentedControl.selectedSegmentIndex = 0;
[segmentedControl addTarget:self action:@selector(changeView:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:segmentedControl];

[segmentedControl release];




11. 实现切换按钮绑定的事件

#pragma mark - 切换视图的方法
- (void)changeView:(UISegmentedControl *)sender
{
// 移除正在显示的视图
[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;
}
}
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值