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

iOS开发(10)UISegmentedControl

2014-04-07 16:50 337 查看
UISegmentedControl是一个多按钮控制器,相当于好几个button连在一起。



NSArray *segmentedArray = [[NSArrayalloc]initWithObjects:@"1",@"2",@"three",@"4",nil];

//初始化UISegmentedControl
UISegmentedControl *segmentedControl = [[UISegmentedControlalloc]initWithItems:segmentedArray];

segmentedControl.frame =CGRectMake(10.0,10.0,
300.0,50.0);

// 获取索引
[segmentedControlselectedSegmentIndex];

//设置默认选择项索引
segmentedControl.selectedSegmentIndex =3;
segmentedControl.tintColor = [UIColorredColor];

//设置样式

segmentedControl.segmentedControlStyle =UISegmentedControlStyleBar;

//设置在点击后是否恢复原样
segmentedControl.momentary =YES;

//设置指定索引选项不可选
[segmentedControlsetEnabled:NOforSegmentAtIndex:4];

//判断指定索引选项是否可选
BOOL enableFlag = [segmentedControl
isEnabledForSegmentAtIndex:3];
NSLog(@"%d",enableFlag);

//添加响应事件

[segmentedControl addTarget:selfaction:@selector(segmentSelect:)forControlEvents:UIControlEventValueChanged];

以上是segmentedControl常用的,下面介绍一些用的比较少的

//设置指定索引的题目
[segmentedControlsetTitle:@"two"forSegmentAtIndex:1];

//设置指定索引的图片

[segmentedControl setImage:[UIImageimageNamed:@"rating2.png"]forSegmentAtIndex:3];

//在指定索引插入一个选项并设置图片

[segmentedControl insertSegmentWithImage:[UIImageimageNamed:@"rating1"]atIndex:2animated:NO];

//在指定索引插入一个选项并设置题目

[segmentedControl insertSegmentWithTitle:@"insert"atIndex:3animated:NO];

//移除指定索引的选项

[segmentedControl removeSegmentAtIndex:0animated:NO];

//设置指定索引选项的宽度
[segmentedControlsetWidth:80.0forSegmentAtIndex:2];

//设置选项中图片等的左上角的位置

[segmentedControl setContentOffset:CGSizeMake(10.0,10.0)forSegmentAtIndex:1];

//获取指定索引选项的图片imageForSegmentAtIndex:
UIImageView *imageForSegmentAtIndex = [[UIImageViewalloc]initWithImage:[segmentedControlimageForSegmentAtIndex:1]];
imageForSegmentAtIndex.frame =CGRectMake(60.0,100.0,
30.0,30.0);

//获取指定索引选项的标题titleForSegmentAtIndex
UILabel *titleForSegmentAtIndex = [[UILabelalloc]initWithFrame:CGRectMake(100.0,100.0,
30.0,30.0)];
titleForSegmentAtIndex.text = [segmentedControltitleForSegmentAtIndex:0];

//获取总选项数segmentedControl.numberOfSegments
UILabel *numberOfSegments = [[UILabelalloc]initWithFrame:CGRectMake(140.0,100.0,
30.0,30.0)];
numberOfSegments.text = [NSStringstringWithFormat:@"%d",segmentedControl.numberOfSegments];

//获取指定索引选项的宽度widthForSegmentAtIndex:
UILabel *widthForSegmentAtIndex = [[UILabelalloc]initWithFrame:CGRectMake(180.0,100.0,
70.0,30.0)];
widthForSegmentAtIndex.text = [NSStringstringWithFormat:@"%.1f",[segmentedControlwidthForSegmentAtIndex:2]];

- (void)segmentSelect:(UISegmentedControl *)sender
{

NSLog(@"index %i",sender.selectedSegmentIndex);

//可以通过判断UISegmentedControl的按钮index来实现自己的逻辑
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: