初始化
初始化的数组中 必须是 字符串 或者 图片
如果选用图片初始化 必须使用镂空图
NSArray *itemArray = @[@"第一段",@"第二段",@"第三段"];
分段按钮
UISegmentedControl *segment = [[UISegmentedControl alloc]initWithItems:itemArray];
设置位置
segment.frame = CGRectMake(20, 100, 300, 50);
设置背景颜色
segment.backgroundColor = [UIColor cyanColor];
设置默认选中(从0开始)
segment.selectedSegmentIndex = 1;
修改选中颜色
segment.tintColor = [UIColor yellowColor];
修改中间段的宽度
[segment setWidth:200 forSegmentAtIndex:1];
添加到父视图上
[self.view addSubview:segment];
释放
[segment release]
创建控制器
注意 : 这里先用属性声明了 所有直接这样写
属性的声明
把控制器 改成属性 变量调用
@property (nonatomic ,retain)SecondViewController *secondVC;
@property (nonatomic ,retain)ThirdViewController *thirdVC;
@property (nonatomic ,retain)FourViewController *fourVC;
self.secondVC = [[SecondViewController alloc]init];
添加子控制器 并且显示视图
[self addChildViewController:self.secondVC];
[self.view addSubview:self.secondVC.view];
释放
[_secondVC release];
初始化一个图片
注意这里的图片是镂空图 而且还是PNG格式 如果不是PNG格式
则要把什么格式加上例如
@"01-refresh.jpg"
UIImage *image1 = [UIImage imageNamed:@"01-refresh"];
添加一个点击事件
选取ValueChanged 实际上是监测的 索引的变化
重点方法 我们监测的是值的变化 所以我们要注意UIControlEventValueChanged
[segment1 addTarget:self action:@selector(segmentAction:) forControlEvents:(UIControlEventValueChanged)];
最前面的应该是segment1 然后是默认选中第一界面视图 secondVC.view
[self.view bringSubviewToFront:self.secondVC.view];
[self.view bringSubviewToFront:segment1];
实现点击方法
- (void)segmentAction:(UISegmentedControl *)segment
{
需求 判断出点击了那个分段按钮
NSLog(@"%ld",segment.selectedSegmentIndex);
每个分段按钮 控制一个界面 每个界面是一个控制器来控制 并且可以切换界面
通过索引切换不同的页面
switch (segment.selectedSegmentIndex) {
case 0:
[self.view bringSubviewToFront:self.secondVC.view];
break;
case 1:
[self.view bringSubviewToFront:self.thirdVC.view];
break;
case 2:
[self.view bringSubviewToFront:self.fourVC.view];
break;
default:
break;
}
每次都把segment放到最上面
[self.view bringSubviewToFront:segment];
}