实现如图效果
类似手机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];
}