QQ的显示有消息,电话两个选项。
本次就是制作一个QQ简单布局视图。
本程序的机构是创建一个根视图控制器,一个Message视图控制器,一个Phone视图控制器。对视图的控件没有添加,只是利用SegmentControl来切换视图。
重点
1.SegmentControl默认显示
_segmentC.selectedSegmentIndex = 0;
2.可以给segment添加图片,但必须是镂空图。
3.用switch来选择点击了那个按钮;
switch (segment.selectedSegmentIndex)
4.给segment添加方法
[_segmentC addTarget:self action:@selector(exchangeView:) forControlEvents:UIControlEventValueChanged];
下面是根视图控制器的源代码
#import "RootViewController.h"
#import "MessageViewController.h"
#import "PhoneViewController.h"
@interface RootViewController ()
@property(nonatomic,retain)UISegmentedControl *segmentC;
@property(nonatomic,retain)MessageViewController *messageVC;
@property(nonatomic,retain)PhoneViewController *phoneVC;
@end
@implementation RootViewController
- (void)dealloc
{
[_segmentC release];
[super dealloc];
}
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
#pragma mark -------------UISegmentedControl
[self createSegmentControl];
// Do any additional setup after loading the view.
#pragma mark -----------------向容器视图控制器中添加子视图控制器
[self createChildViewControllers];
}
-(void)createChildViewControllers
{
self.messageVC = [[MessageViewController alloc]init];
self.phoneVC = [[PhoneViewController alloc]init];
// MessageViewController *mesVC = [[MessageViewController alloc]init] ;
//
// PhoneViewController *phoneVC = [[PhoneViewController alloc]init];
[self addChildViewController:_messageVC];
[self addChildViewController:_phoneVC];
[self.view addSubview:_messageVC.view];
[self.view bringSubviewToFront:_segmentC];
[_phoneVC release];
[_messageVC release];
}
-(void)createSegmentControl{
UIImage *image1 = [UIImage imageNamed:@"360.png"];
NSArray *tittle = @[@"消息",@"电话",image1];
self.segmentC = [[UISegmentedControl alloc]initWithItems:tittle];
[self.view addSubview:_segmentC];
_segmentC.frame = CGRectMake(100, 100, 150, 50);
CGPoint temp = CGPointMake([UIScreen mainScreen].bounds.size.width/2, 50);
_segmentC.center = temp;
//默认选中
_segmentC.selectedSegmentIndex = 0;
//颜色
[_segmentC setTintColor:[UIColor redColor]];
[_segmentC addTarget:self action:@selector(exchangeView:) forControlEvents:UIControlEventValueChanged];
[_segmentC release];
}
-(void)exchangeView:(UISegmentedControl *)segment{
//打印点击了那个按钮
NSLog(@"%d",segment.selectedSegmentIndex);
switch (segment.selectedSegmentIndex) {
case 0:
{
//显示messageVC
if (_messageVC.view.superview == nil) {
[_phoneVC.view removeFromSuperview];
[self.view addSubview:_messageVC.view];
}
//让segmentC显示
[self.view bringSubviewToFront:_segmentC];
}
break;
case 1:
{
//显示phonevC
if (_phoneVC.view.superview == nil) {
[_messageVC.view removeFromSuperview];
[self.view addSubview:self.phoneVC.view];
}
//让segmentC显示
[self.view bringSubviewToFront:_segmentC];
}
break;
default:
break;
}
}