IOS:UI设计之UISegmentedControl相关基础
作用:分段控件,页面的切换等等;
它们常用于在不同类别的信息之间的选择,或在不同的应用屏幕之间切换。
下面是基本属性和基本方法的使用:
NSArray *array = [NSArray arrayWithObjects:@"搜索",@"音乐",@"视频",@"小说",nil]; //创建一个数组
UISegmentedControl *segmentedCont = [[UISegmentedControl alloc]initWithItems:array]; //初始化UISegmentedControl,并添加数组array,并根据数组生成相应的分栏数目
segmentCont.frame = CGRestMake(x,y,w,h); //设置frame
segmentCont.segmentedControlStyle = UISegmentedControlStyleBezeled; //设置分栏的样式
IOS7系统环境下的显示样式
UISegmentedControlStyleBar;
UISegmentedControlStylePlain;
UISegmentedControlStyleBordered;
//如果你用的是IOS7系统的模拟器,你是会发现:不管你采用以上哪种样式,它们显示出来的效果都是一样的,但是,在IOS6上,它们显示的效果是不一样的,由于小编没有IOS6系统的模拟器,所以没有截图,这个就留给读者自己来体验
segmentedCont.tintColor = [UIColor redColor];
//设置它的颜色,不过这个色彩只对它的UISegmentedControlStyleBar和UISegmentedControlStyleBezeled样式有用
segmentedCont.selectedSegmentIndex = 2; //设置默认选择项索引 0,1,2,3....
segmentedCont.momentary = YES; //设置在点击后是否恢复原样
//个人认为以下几个插入索引项的基本方法并不常用,了解便可以
[segmentedCont setTitle:@"two" forSegmentAtIndex:2]; //设置指定索引的题目
[segmentedCont setImage:[UIImage imageNamed:@"name.png"] forSegmentAtIndex:3]; //设置指定索引的图片,图片需要选择适合大小的
[segmentedCont insertSegmentWithImage:[UIImage imageNamed:@"name1.png"] atIndex:2 animated:NO]; //在指定索引插入一个选项并设置图片
[segmentedCont insertSegmentWithTitle:@"插入" atIndex:3 animated:NO]; //在指定索引插入一个选项并设置题目
[segmentedCont removeSegmentAtIndex:0 animated:NO]; //移除指定索引的选项
[segmentedCont setWidth:70.0 forSegmentAtIndex:2]; //设置指定索引选项的宽度
[segmentedControl setContentOffset:CGSizeMake(10.0,10.0) forSegmentAtIndex:3]; //设置选项中图片等的左上角的位置
//获取指定索引选项的图片imageForSegmentAtIndex:
UIImageView *imageForSegmentAtIndex = [[UIImageView alloc]initWithImage:[segmentedCont imageForSegmentAtIndex:1]];
imageForSegmentAtIndex.frame = CGRectMake(x, y, w, h);
//获取总选项数segmentedControl.numberOfSegments
UILabel *numberOfSegments = [[UILabel alloc]initWithFrame:CGRectMake(x, y, w, h)];
numberOfSegments.text = [NSString stringWithFormat:@"%d",segmentedCont.numberOfSegments];
//获取指定索引选项的宽度widthForSegmentAtIndex:
UILabel *widthForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(x, y, w, h)];
widthForSegmentAtIndex.text = [NSString stringWithFormat:@"%f",[segmentedCont widthForSegmentAtIndex:2]];
[segmentedCont setEnabled:NO forSegmentAtIndex:4]; //设置指定索引选项不可选
BOOL enableFlag = [segmentedCont isEnabledForSegmentAtIndex:4]; //判断指定索引选项是否可选
//添加委托方法
segmentedCont addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventsValueChanged];
//具体委托方法实例:
-(void)segmentAction:(UISegmentedControl *)SC
{
NSInteget Index = SC.selectedSegmentIndex; //获取索引值
NSLog(@"Index:%i",Index);
switch(Index){ //判断选中的索引值
case 0:
{//响应的事件};
break;
case 1:
{//响应的事件};
break;
case 2:
{//响应的事件};
break;
case 3:
{//响应的事件};
break;
default:
break;
}
}
(可能学得比较浅,大家要是有补充可以留言,有问题的大家一起探讨下,可以私下联系:QQ790444804 微信:hgwchihuo
-------我是快乐的小尾巴`(*∩_∩*)′)
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。