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

UISegmentedControl基本使用方法

2014-11-27 08:55 162 查看
UISegmentedControl分段控件基本使用方法
创建
UISegmentedControl* mySegmentedControl = [[UISegmentedControl alloc]initWithItems:nil];
它不需要指定大小,高度默认为44,不能写0
设置宽度:
[mySegmentedControl setWidth:100 forSegmentAtIndex:0];//设置Item的宽度
设置样式

mySegmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;

风格可以视使用的场合而定,有三种风格选择,如下:

UISegmentedControlStylePlain, // large plain 有灰边的大白按钮,适合偏好设置单元

UISegmentedControlStyleBordered, // large bordered 黑边的大白按钮,适用于表格单元

UISegmentedControlStyleBar, // small button/nav bar style. tintable 小按钮,适合导航栏

UISegmentedControlStyleBezeled, // large bezeled style. tintable

设置片段图片

添加一个含有图像的片段,用inserSegmentWithImage

[mySegmentedControl insertSegmentWithImage:[UIImage imageNamed:@"pic"] atIndex:3 animated:YES];

删除片段
[mySegmentedControl removeSegmentAtIndex:0 animated:YES];//删除一个片段

设置片段标题
[mySegmentedControl setTitle:@"ZERO" forSegmentAtIndex:0];//设置标题
NSString* myTitle = [mySegmentedControl titleForSegmentAtIndex:1];//读取标题

添加到导航栏
self.navigationItem.titleView = mySegmentedControl;

示例:
NSArray *segmentedArray = [[NSArrayalloc]initWithObjects:@"学历报表",@"职务报表",nil];

UISegmentedControl * _segmentCtrl = [[UISegmentedContro alloc]initWithItems:segmentedArray];

//用于初始化数组
NSArray *segmentedArray = [[NSArrayalloc]initWithObjects:@"学历报表",@"职务报表",nil];
_segmentCtrl = [[UISegmentedControlalloc]initWithItems:segmentedArray];
_segmentCtrl.frame =CGRectMake(5,0,kMainScreenWidth-10,34);

//设置被选中颜色

_segmentCtrl.tintColor =TABBAR_BARTINT_COLOR;

NSMutableDictionary *barTitleTextAttributes = [NSMutableDictionarydictionary];
[barTitleTextAttributessetObject:CONTENT_FONTforKey:NSFontAttributeName];
[barTitleTextAttributessetObject:CONTENT_COLORforKey:NSForegroundColorAttributeName];

//设置被选择和不选择中时字体与颜色

[_segmentCtrlsetTitleTextAttributes:barTitleTextAttributesforState:UIControlStateNormal];

[_segmentCtrlsetTitleTextAttributes:barTitleTextAttribute forState:UIControlStateSelected];

//设置点击处理函数

[_segmentCtrladdTarget:selfaction:@selector(controlPressed:)forControlEvents:UIControlEventValueChanged];

//设置默认页面

_segmentCtrl.selectedSegmentIndex =0;

-(void)controlPressed:(id)sender
{

UISegmentedControl *control = (UISegmentedControl *)sender;
if (control ==babySegmentCtrl) {

NSInteger x = control.selectedSegmentIndex;

//NSLog(@"select segment index is %d", x);
switch (x) {
case0:{

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