您的位置:首页 > 产品设计 > UI/UE

19.UISegmentedControl(分段按钮)

2015-11-17 21:33 453 查看


分段控件提供一栏按钮(有时称为按钮栏),但只能激活其中一个按钮。分段控件会导致用户在屏幕上看到的内容发生变化。它们常用于在不同类别的信息之间选择,或在不同的应用屏幕之间切换。下面介绍基本属性和基本方法的使用。

初始化的数组中 必须是 字符串(标题) 或者 图片

NSArray *itemArray = @[@”第一段”,@”第二段”,@”第三段”];

1.初始化分段按钮

UISegmentedControl *segmentControl = [[UISegmentedControl alloc]initWithItems:itemArray];

2.位置

segmentControl.frame = CGRectMake(20, 100, 300, 50);

3.添加背景颜色

segmentControl.backgroundColor = [UIColor yellowColor];

4.设置默认选中(索引从0开始)

segmentControl.selectedSegmentIndex = 1;

5.修改选中的颜色

segmentControl.tintColor = [UIColor greenColor];

6.修改中间段的宽度

[segmentControl setWidth:200 forSegmentAtIndex:1];

[self.view addSubview:segmentControl];

[segmentControl release];

实现页面跳转

1.把控制器 改成属性 方便调用

@property (nonatomic,retain)TwoViewController *twoVC;

@property (nonatomic,retain)ThreeViewController *threeVC;

@property (nonatomic,retain)FourViewController *fourVC;

释放控制器

-(void)dealloc

{

[_twoVC release];

[_threeVC release];

[_fourVC release];

[super dealloc];

}

2.如果选用 图片初始化 必须使用镂空图

创建三张图片

UIImage *image = [UIImage imageNamed:@”01-refresh”];

UIImage *image1 = [UIImage imageNamed:@”02-redo”];

UIImage *image2 = [UIImage imageNamed:@”03-loopback”];

把图片添加到数组里

NSArray *array = @[image,image1,image2];

3.初始化一个UISegmentedControl对象

UISegmentedControl *segmentControl = [[UISegmentedControl alloc] initWithItems:array];

4.添加属性

添加位置

segmentControl.frame = CGRectMake(20, 100, 300, 50);

添加背景颜色

segmentControl.backgroundColor = [UIColor greenColor];

添加选中颜色

segmentControl.tintColor = [UIColor yellowColor];

添加默认选中索引

segmentControl.selectedSegmentIndex = 0;

5.添加一个点击事件

选取ValueChanged 实际上是监测的 索引的变化

[segmentControl addTarget:self action:@selector(segmentedAction:) forControlEvents:(UIControlEventValueChanged)];

6.添加到视图上

[self.view addSubview:segmentControl];

7.释放

[segmentControl release];

8.创建控制器 并添加为子控制器

self.twoVC = [[TwoViewController alloc] init];

添加子控制器并且显示视图

[self addChildViewController:self.twoVC];

[self.view addSubview:self.twoVC.view];

[_twoVC release];

self.threeVC = [[ThreeViewController alloc] init];

[self addChildViewController:self.threeVC];

[self.view addSubview:self.threeVC.view];

[_threeVC release];

self.fourVC = [[FourViewController alloc] init];

[self addChildViewController:self.fourVC];

[self.view addSubview:self.fourVC.view];

[_fourVC release];

最前面的应该是segment

然后是默认选中第一界面视图 TwoVC.view

[self.view bringSubviewToFront:self.twoVC.view];

[self.view bringSubviewToFront:segmentControl];

9.实现点击方法

-(void)segmentedAction:(UISegmentedControl *)segment;

{

需求 判断出 点击了那个分段按钮

每个分段按钮 控制一个界面 每个界面是一个控制器来控制 并且 可以切换界面

segment.selectedSegmentIndex 选中的索引

通过索引 切换不同的页面

switch (segment.selectedSegmentIndex) {

case 0:

[self.view bringSubviewToFront:self.twoVC.view];

break;

case 1:

[self.view bringSubviewToFront:self.threeVC.view];

break;

case 2:

[self.view bringSubviewToFront:self.fourVC.view];

break;

default:

break;

}

每次都把segment放最上面

[self.view bringSubviewToFront:segment];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: