UISegmentedControl详解
来源:互联网 发布:js判断无穷大 编辑:程序博客网 时间:2024/05/22 06:41
当用户输入不仅仅是布尔值时,可使用分段控件(UISegmentedControl)。分段控件提供一栏按钮(有时称为按钮栏),但只能激活其中一个按钮。分段控件会导致用户在屏幕上看到的内容发生变化。它们常用于在不同类别的信息之间选择,或在不同的应用屏幕之间切换。下面介绍基本属性和基本方法的使用。
[代码]c#/cpp/oc代码:
1
NSArray *segmentedArray = [[NSArrayalloc]initWithObjects:
@"1"
,
@"2"
,
@"3"
,
@"4"
,nil];
2
//初始化UISegmentedControl
3
UISegmentedControl *segmentedControl = [[UISegmentedControlalloc]initWithItems:segmentedArray];
4
segmentedControl.frame = CGRectMake(20.0, 20.0, 250.0, 50.0);
5
segmentedControl.selectedSegmentIndex = 2;
//设置默认选择项索引
6
segmentedControl.tintColor = [UIColor redColor];
7
//有基本四种样式
8
segmentedControl.segmentedControlStyle = UISegmentedControlStylePlain;
//设置样式
[代码]c#/cpp/oc代码:
1
//segmentedControl.segmentedControlStyle = UISegmentedControlStyleBordered;//设置样式
[代码]c#/cpp/oc代码:
1
//segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;//设置样式
[代码]c#/cpp/oc代码:
1
//segmentedControl.segmentedControlStyle = UISegmentedControlStyleBezeled;//设置样式
[代码]c#/cpp/oc代码:
1
// segmentedControl.momentary = YES;//设置在点击后是否恢复原样
2
[segmentedControl setTitle:
@"two"
forSegmentAtIndex:1];
//设置指定索引的题目
[代码]c#/cpp/oc代码:
1
[segmentedControl setImage:[UIImage imageNamed:
@"btn_jyy.png"
] forSegmentAtIndex:3];
//设置指定索引的图片
[代码]c#/cpp/oc代码:
1
[segmentedControl insertSegmentWithImage:[UIImage imageNamed:
@"mei.png"
] atIndex:2 animated:NO];
//在指定索引插入一个选项并设置图片
[代码]c#/cpp/oc代码:
1
[segmentedControl insertSegmentWithTitle:
@"insert"
atIndex:3 animated:NO];
//在指定索引插入一个选项并设置题目
[代码]c#/cpp/oc代码:
1
[segmentedControl removeSegmentAtIndex:0 animated:NO];
//移除指定索引的选项
[代码]c#/cpp/oc代码:
01
// [segmentedControl setWidth:70.0 forSegmentAtIndex:2];//设置指定索引选项的宽度
02
// [segmentedControl setContentOffset:CGSizeMake(10.0,10.0) forSegmentAtIndex:4];//设置选项中图片等的左上角的位置
03
04
//获取指定索引选项的图片imageForSegmentAtIndex:
05
UIImageView *imageForSegmentAtIndex = [[UIImageViewalloc]initWithImage:[segmentedControl imageForSegmentAtIndex:1]];
06
imageForSegmentAtIndex.frame = CGRectMake(60.0, 120.0, 30.0, 30.0); ;
07
08
//获取指定索引选项的标题titleForSegmentAtIndex
09
UILabel *titleForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(100.0, 160.0, 30.0, 30.0)];
10
titleForSegmentAtIndex.text = [segmentedControl titleForSegmentAtIndex:0];
11
12
//获取总选项数segmentedControl.numberOfSegments
13
UILabel *numberOfSegments = [[UILabel alloc]initWithFrame:CGRectMake(140.0, 170.0, 30.0, 30.0)];
14
numberOfSegments.text = [NSString stringWithFormat:
@"%d"
,segmentedControl.numberOfSegments];
15
16
//获取指定索引选项的宽度widthForSegmentAtIndex:
17
UILabel *widthForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(180.0, 210.0, 70.0, 30.0)];
18
widthForSegmentAtIndex.text = [NSString stringWithFormat:
@"%f"
,[segmentedControl widthForSegmentAtIndex:2]];
19
20
// [segmentedControl setEnabled:NO forSegmentAtIndex:4];//设置指定索引选项不可选
21
// BOOL enableFlag = [segmentedControl isEnabledForSegmentAtIndex:4];//判断指定索引选项是否可选
22
[mySegmentedControladdTarget:selfaction:@selector(segmentAction:)forControlEvents:UIControlEventValueChanged];
//添加委托方法
23
//具体委托方法实例
24
-(
void
)segmentAction:(UISegmentedControl *)Seg{
25
NSInteger Index = Seg.selectedSegmentIndex;
26
NSLog(
@"Index %i"
, Index);
27
switch
(Index) {
28
case
0:
29
[self selectmyView1];
30
break
;
31
case
1:
32
[self selectmyView2];
33
break
;
34
case
2:
35
[self selectmyView3];
36
break
;
37
case
3:
38
[self selectmyView4];
39
break
;
40
case
4:
41
[self selectmyView5];
42
break
;
43
case
5:
44
[self selectmyView6];
45
break
;
46
default
:
47
break
;
48
}
49
}
基本属性、方法如上,大家在实际开发中可根据实际需求选取适当属性和方法。
使用技巧:
在导航栏中添加UISegmentedControl ,实现的效果:
实现的代码:
[代码]c#/cpp/oc代码:
01
//自定义UISegmentedcontrol
02
UISegmentedControl *segmentedControl=[[UISegmentedControl alloc] initWithFrame:CGRectMake(80.0f, 8.0f, 200.0f, 30.0f) ];
03
[segmentedControl insertSegmentWithTitle:
@"Food to eat"
atIndex:0 animated:YES];
04
[segmentedControl insertSegmentWithTitle:
@"Food to avoid"
atIndex:1 animated:YES];
05
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
06
segmentedControl.momentary = YES;
07
segmentedControl.multipleTouchEnabled=NO;
08
[segmentedControl addTarget:self action:@selector(Selectbutton:) forControlEvents:UIControlEventValueChanged];
09
UIBarButtonItem *segButton = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];
//自定义UIBarButtonItem,封装定义好的UIsegmented。
10
[segmentedControl release];
11
self.navigationItem.rightBarButtonItem = segButton;
//添加到导航栏中
12
[segButton release];
- UISegmentedControl详解
- UISegmentedControl详解
- UISegmentedControl 详解
- UISegmentedControl详解
- UISegmentedControl详解
- UISegmentedControl详解
- UISegmentedControl用法详解
- UISegmentedControl 使用详解
- iOS UISegmentedControl控件详解
- ios学习--UISegmentedControl详解
- iOS UISegmentedControl控件详解
- UISegmentedControl用法详解
- UISegmentedControl分段控件使用详解
- iOS 之 UISegmentedControl 使用详解
- UISegmentedControl
- UISegmentedControl
- UISegmentedControl
- UISegmentedControl
- UVALive 5902 Movie collection
- Linux mail
- APK Crack
- 6_21_天天向上_2
- android java.lang.OutOfMemoryError: bitmap size exceeds VM budget
- UISegmentedControl详解
- 地址解析协议
- 服务端强行要求弹出客户端登录窗口自动登录方法
- 三星ARM触摸屏与ADC驱动的冲突解决方法
- PHP执行超时后的处理
- 基于 Android NDK 的学习之旅-----Android.mk 介绍
- 趣题4:蚂蚁爬杆
- Android envsetup.sh剖析
- android NDK开发网站