UISegmentControl

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;
    }




}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值