iOS UISegmentedControl分段按钮

1
2

实现如图效果

类似手机QQ页面上面的分段按钮.

我在UIViewController里写的这个控件,并且新建了两个UIView页面,一个红色,一个绿色,点击第一个按钮显示红色页面,点击第二个按钮显示绿色页面

代码如下:

#import "RootViewController.h"
#import "RedView.h"
#import "GreenView.h"
@interface RootViewController ()

@property (nonatomic, retain)RedView *red;
@property (nonatomic, retain)GreenView *green;

@end
    self.red = [[RedView alloc] initWithFrame:CGRectMake(0, 0, 375, 667)];
    self.green = [[GreenView alloc] initWithFrame:CGRectMake(0, 0, 375, 667)];
    [self.view addSubview:self.red];
    [self.view addSubview:self.green];
    //当程序运行让红色页面显示在最前面
    [self.view bringSubviewToFront:self.red];
    [_red release];
    [_green release];
//分段按钮
    NSArray *array = [NSArray arrayWithObjects:@"消息", @"通话", nil];
    UISegmentedControl *segmentCon = [[UISegmentedControl alloc] initWithItems:array];
    //设置程序刚打开时,按钮默认选中下标
    segmentCon.selectedSegmentIndex = 0;
    //设置背景颜色
//    segmentCon.backgroundColor = [UIColor blueColor];
    //设置按钮选中颜色
    segmentCon.tintColor = [UIColor blackColor];
    //重新设置标题
    [segmentCon setTitle:@"微信" forSegmentAtIndex:0];
//    UIImage *image = [UIImage imageNamed:@"1.jpeg"];
    //取消颜色渲染
//    image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    //给下标为0的按钮设置背景图片
//    [segmentCon setImage:image forSegmentAtIndex:0];
    //核心方法
    [segmentCon addTarget:self action:@selector(segAction:) forControlEvents:UIControlEventValueChanged];
    segmentCon.frame = CGRectMake(90, 50, 200, 40);
    [self.view addSubview:segmentCon];
    [segmentCon release];
- (void)segAction:(UISegmentedControl *)seg{
    //打印点击按钮的下标
    NSLog(@"1111======%ld", seg.selectedSegmentIndex);
    if (seg.selectedSegmentIndex == 0) {
        [self.view bringSubviewToFront:self.red];
    }else{
        [self.view bringSubviewToFront:self.green];
    }
    [self.view bringSubviewToFront:seg];

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值