ios开发--UISegmentedControl分段
来源:互联网 发布:js获取div的name属性 编辑:程序博客网 时间:2024/06/05 04:36
1.初始化UISegmentedControl
NSArray *arr = [[NSArrayalloc]initWithObjects:@"轻拍",@"长按",@"清扫",@"旋转",@"捏合",@"拖拽", nil];
//先创建一个数组用于设置标题
UISegmentedControl *segment =[[UISegmentedControl alloc]initWithItems:arr];
//在没有设置[segmentsetApportionsSegmentWidthsByContent:YES]时,每个的宽度按segment的宽度平分
segment.frame = CGRectMake(0, 400, 320,40);
//设置frame
2.管理Segment的内容
[segment setTitle:@" 标题"forSegmentAtIndex:3];
//设置下标为3的segment的标题 下标以0开始IOS里的所有下标都是以0开始
[segment setImage:[UIImageimageNamed:@"3"] forSegmentAtIndex:4];
//设置下标为4的segment的图片
3.管理Segments
[segment insertSegmentWithImage:[UIImageimageNamed:@"3"] atIndex:2 animated:YES]; //设置图片
[segmentinsertSegmentWithTitle:@"ddd" atIndex:0 animated:YES];//设置标题
[segment numberOfSegments];//得到segment的数量
[segment removeAllSegments];//移出所有segment
[segment removeSegmentAtIndex:2animated:YES];//移出下标为2的segment
segment.selectedSegmentIndex = 0;//选中第几个segment 一般用于初始化时选中
4.管理Segment的行为和外观
segment.momentary = NO;
//默认为NO 当设置为YES时,当被选中后,一会儿后不显示被选中状态(最左边的样子)
segment.segmentedControlStyle =UISegmentedControlStyleBar;
typedef enum {
UISegmentedControlStylePlain, 系统默认平板样式
UISegmentedControlStyleBordered, 黑边样式
UISegmentedControlStyleBar, 条状样式
UISegmentedControlStyleBezeled, 这个类型不要使用,用了会报错喔。
} UISegmentedControlStyle;
//设置样式 当为Bordered和Bar时tintColor渐变颜色才有效
//Bar样式
[segment setEnabled:NO]; //设置segment是否可用 此方法是其父类UIControl的方法
[segment setEnabled:NOforSegmentAtIndex:2];//设置下标为2的segment不可用
[segment setWidth:100 forSegmentAtIndex:2];//这时下表为2的segment的宽度
[segment setContentOffset:CGSizeMake(10,10) forSegmentAtIndex:2];//设置内容偏移
segment.apportionsSegmentWidthsByContent =YES; //是否根据segment的内容改变segment的宽度
5.自定义外观
[segment setTintColor:[UIColor redColor]];//设置segments的颜色
[segment setBackgroundImage:[UIImageimageNamed:@""] forState:UIControlStateNormalbarMetrics:UIBarMetricsDefault];
typedef enum {
UIBarMetricsDefault, //竖屏
UIBarMetricsLandscapePhone, 横屏
} UIBarMetrics;
//设置在某个状态下segments的背景图片
[segment setTitleTextAttributes:dicforState:UIControlStateNormal];
NSString *const UITextAttributeFont; value: UIFont
NSString *constUITextAttributeTextColor; value: UIColor
NSString *constUITextAttributeTextShadowColor; value: UIColor
NSString *constUITextAttributeTextShadowOffset; value: NSValue wrapping a UIOffset
NSDictionary *dic = [NSDictionarydictionaryWithObjectsAndKeys:[UIColorredColor],UITextAttributeTextColor,[UIFontfontWithName:@"SnellRoundhand-Bold" size:24],UITextAttributeFont,nil];
//设置标题的颜色 字体和大小 阴影和阴影颜色
6.显示控件
[parentViewaddSubview:mySegmentedControl];//添加到父视图
或
self.navigationItem.titleView = mySegmentedControl;//添加到导航栏
7.读取控件
通过 selectedSegmentedIndex 属性,可以读取当前选中分段的值,这个值就是选中片段的索引号。
int x = mySegmentedControl.selectedSegmentedIndex;
8.增加事件响应机制
监听的是这个事件:UIControlEventValueChanged,值改变事件
[segmentedControl addTarget:self action:@selector(itemClick) forControlEvents:UIControlEventValueChanged];
//SegmentedControl触发的动作
-(void)selected:(id)sender{
UISegmentedControl* control = (UISegmentedControl*)sender;
switch (control.selectedSegmentIndex) {
case 0:
//
break;
case 1:
//
break;
case 2:
//
break;
default:
break;
}
}
- ios开发--UISegmentedControl分段
- iOS开发-分段控制器UISegmentedControl
- UISegmentedControl 分段控件-IOS开发
- UISegmentedControl 分段控件-IOS开发
- UISegmentedControl 分段控件-IOS开发
- UISegmentedControl 分段控件-iOS开发
- UISegmentedControl 分段控件-IOS开发
- UISegmentedControl 分段控件-IOS开发
- UISegmentedControl 分段控件-iOS开发
- UISegmentedControl 分段控件-IOS开发
- UISegmentedControl 分段控件-IOS开发
- iOS开发 UI UISegmentedControl分段控制器
- UISegmentedControl 分段控件-IOS开发
- IOS UISegmentedControl 分段控制器
- iOS UISegmentedControl分段按钮
- iOS--分段控件UISegmentedControl
- iOS开发学习笔记——分段视图(UISegmentedControl)
- iOS———-分段控件(UISegmentedControl)
- js+div悬浮框
- ioctlsocket函数全面解析
- iOS开发UI篇—Quartz2D使用(绘制基本图形)
- 循环展开
- android:layout_weight的真实含义
- ios开发--UISegmentedControl分段
- 将优酷视频嵌入手机移动端
- css 实现垂直居中的5种方法
- Object-C 封装、拆包基本数据类型
- Dom4j完整教程
- LeetCode题解——Implement strStr()
- Hadoop中自带的examples之wordcount应用案例
- 1062. Talent and Virtue (25)
- Leetcode37 Sudoku Solver