iOS控件之UISegmentedControl
2016-06-01 12:56
501 查看
分段控件UISegmentedControl
一,作用:分段控件,页面的切换等等
二,UISegmentedControlDemo
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
self.window.backgroundColor = [UIColor whiteColor];
// NSArray *items = @[@"搜索", @"图片", @"视频", @"音乐"];
NSArray *images = @[[UIImage imageNamed:@"segment_check"], [UIImage imageNamed:@"segment_search"], [UIImage imageNamed:@"segment_tools"]];
UISegmentedControl *sc = [[UISegmentedControl alloc] initWithItems:images];
sc.segmentedControlStyle = UISegmentedControlStylePlain;
sc.frame = CGRectMake(60, 100, 200, 40);
sc.selectedSegmentIndex = 1;
// sc.tintColor = [UIColor redColor];
[sc addTarget:self action:@selector(change:) forControlEvents:UIControlEventValueChanged];
[self.window addSubview:sc];
[sc release];
[self.window makeKeyAndVisible];
return YES;
}
- (void)change:(UISegmentedControl *)sc
{
NSLog(@"sc : %d", sc.selectedSegmentIndex);
}
#import "SegmentedControlTestViewController.h"
@implementation SegmentedControlTestViewController
@synthesize segmentedControl;
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
NSArray *segmentedArray = [[NSArray alloc]initWithObjects:@"1",@"2",@"3",@"4",nil];
//初始化UISegmentedControl
UISegmentedControl *segmentedTemp = [[UISegmentedControl alloc]initWithItems:segmentedArray];
segmentedControl = segmentedTemp;
segmentedControl.frame = CGRectMake(60.0, 10.0, 200.0, 50.0);
[segmentedControl setTitle:@"two" forSegmentAtIndex:1];//设置指定索引的题目
[segmentedControl setImage:[UIImage imageNamed:@"lan.png"] forSegmentAtIndex:3];//设置指定索引的图片
[segmentedControl insertSegmentWithImage:[UIImage imageNamed:@"mei.png"] atIndex:2 animated:NO];//在指定索引插入一个选项并设置图片
[segmentedControl insertSegmentWithTitle:@"insert" atIndex:3 animated:NO];//在指定索引插入一个选项并设置题目
[segmentedControl removeSegmentAtIndex:0 animated:NO];//移除指定索引的选项
[segmentedControl setWidth:70.0 forSegmentAtIndex:2];//设置指定索引选项的宽度
[segmentedControl setContentOffset:CGSizeMake(10.0,10.0) forSegmentAtIndex:1];//设置选项中图片等的左上角的位置
//获取指定索引选项的图片imageForSegmentAtIndex:
UIImageView *imageForSegmentAtIndex = [[UIImageView alloc]initWithImage:[segmentedControl imageForSegmentAtIndex:1]];
imageForSegmentAtIndex.frame = CGRectMake(60.0, 100.0, 30.0, 30.0);
//获取指定索引选项的标题titleForSegmentAtIndex
UILabel *titleForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(100.0, 100.0, 30.0, 30.0)];
titleForSegmentAtIndex.text = [segmentedControl titleForSegmentAtIndex:0];
//获取总选项数segmentedControl.numberOfSegments
UILabel *numberOfSegments = [[UILabel alloc]initWithFrame:CGRectMake(140.0, 100.0, 30.0, 30.0)];
numberOfSegments.text = [NSString stringWithFormat:@"%d",segmentedControl.numberOfSegments];
//获取指定索引选项的宽度widthForSegmentAtIndex:
UILabel *widthForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(180.0, 100.0, 70.0, 30.0)];
widthForSegmentAtIndex.text = [NSString stringWithFormat:@"%f",[segmentedControl widthForSegmentAtIndex:2]];
segmentedControl.selectedSegmentIndex = 2;//设置默认选择项索引
segmentedControl.tintColor = [UIColor redColor];
segmentedControl.segmentedControlStyle = UISegmentedControlStylePlain;//设置样式
segmentedControl.momentary = YES;//设置在点击后是否恢复原样
[segmentedControl setEnabled:NO forSegmentAtIndex:4];//设置指定索引选项不可选
BOOL enableFlag = [segmentedControl isEnabledForSegmentAtIndex:4];//判断指定索引选项是否可选
NSLog(@"%d",enableFlag);
[self.view addSubview:widthForSegmentAtIndex];
[self.view addSubview:numberOfSegments];
[self.view addSubview:titleForSegmentAtIndex];
[self.view addSubview:imageForSegmentAtIndex];
[self.view addSubview:segmentedControl];
[widthForSegmentAtIndex release];
[numberOfSegments release];
[titleForSegmentAtIndex release];
[segmentedTemp release];
[imageForSegmentAtIndex release];
//移除所有选项
//[segmentedControl removeAllSegments];
[super viewDidLoad];
}
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)dealloc {
[segmentedControl release];
[super dealloc];
}
@end
一,作用:分段控件,页面的切换等等
二,UISegmentedControlDemo
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
self.window.backgroundColor = [UIColor whiteColor];
// NSArray *items = @[@"搜索", @"图片", @"视频", @"音乐"];
NSArray *images = @[[UIImage imageNamed:@"segment_check"], [UIImage imageNamed:@"segment_search"], [UIImage imageNamed:@"segment_tools"]];
UISegmentedControl *sc = [[UISegmentedControl alloc] initWithItems:images];
sc.segmentedControlStyle = UISegmentedControlStylePlain;
sc.frame = CGRectMake(60, 100, 200, 40);
sc.selectedSegmentIndex = 1;
// sc.tintColor = [UIColor redColor];
[sc addTarget:self action:@selector(change:) forControlEvents:UIControlEventValueChanged];
[self.window addSubview:sc];
[sc release];
[self.window makeKeyAndVisible];
return YES;
}
- (void)change:(UISegmentedControl *)sc
{
NSLog(@"sc : %d", sc.selectedSegmentIndex);
}
#import "SegmentedControlTestViewController.h"
@implementation SegmentedControlTestViewController
@synthesize segmentedControl;
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
NSArray *segmentedArray = [[NSArray alloc]initWithObjects:@"1",@"2",@"3",@"4",nil];
//初始化UISegmentedControl
UISegmentedControl *segmentedTemp = [[UISegmentedControl alloc]initWithItems:segmentedArray];
segmentedControl = segmentedTemp;
segmentedControl.frame = CGRectMake(60.0, 10.0, 200.0, 50.0);
[segmentedControl setTitle:@"two" forSegmentAtIndex:1];//设置指定索引的题目
[segmentedControl setImage:[UIImage imageNamed:@"lan.png"] forSegmentAtIndex:3];//设置指定索引的图片
[segmentedControl insertSegmentWithImage:[UIImage imageNamed:@"mei.png"] atIndex:2 animated:NO];//在指定索引插入一个选项并设置图片
[segmentedControl insertSegmentWithTitle:@"insert" atIndex:3 animated:NO];//在指定索引插入一个选项并设置题目
[segmentedControl removeSegmentAtIndex:0 animated:NO];//移除指定索引的选项
[segmentedControl setWidth:70.0 forSegmentAtIndex:2];//设置指定索引选项的宽度
[segmentedControl setContentOffset:CGSizeMake(10.0,10.0) forSegmentAtIndex:1];//设置选项中图片等的左上角的位置
//获取指定索引选项的图片imageForSegmentAtIndex:
UIImageView *imageForSegmentAtIndex = [[UIImageView alloc]initWithImage:[segmentedControl imageForSegmentAtIndex:1]];
imageForSegmentAtIndex.frame = CGRectMake(60.0, 100.0, 30.0, 30.0);
//获取指定索引选项的标题titleForSegmentAtIndex
UILabel *titleForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(100.0, 100.0, 30.0, 30.0)];
titleForSegmentAtIndex.text = [segmentedControl titleForSegmentAtIndex:0];
//获取总选项数segmentedControl.numberOfSegments
UILabel *numberOfSegments = [[UILabel alloc]initWithFrame:CGRectMake(140.0, 100.0, 30.0, 30.0)];
numberOfSegments.text = [NSString stringWithFormat:@"%d",segmentedControl.numberOfSegments];
//获取指定索引选项的宽度widthForSegmentAtIndex:
UILabel *widthForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(180.0, 100.0, 70.0, 30.0)];
widthForSegmentAtIndex.text = [NSString stringWithFormat:@"%f",[segmentedControl widthForSegmentAtIndex:2]];
segmentedControl.selectedSegmentIndex = 2;//设置默认选择项索引
segmentedControl.tintColor = [UIColor redColor];
segmentedControl.segmentedControlStyle = UISegmentedControlStylePlain;//设置样式
segmentedControl.momentary = YES;//设置在点击后是否恢复原样
[segmentedControl setEnabled:NO forSegmentAtIndex:4];//设置指定索引选项不可选
BOOL enableFlag = [segmentedControl isEnabledForSegmentAtIndex:4];//判断指定索引选项是否可选
NSLog(@"%d",enableFlag);
[self.view addSubview:widthForSegmentAtIndex];
[self.view addSubview:numberOfSegments];
[self.view addSubview:titleForSegmentAtIndex];
[self.view addSubview:imageForSegmentAtIndex];
[self.view addSubview:segmentedControl];
[widthForSegmentAtIndex release];
[numberOfSegments release];
[titleForSegmentAtIndex release];
[segmentedTemp release];
[imageForSegmentAtIndex release];
//移除所有选项
//[segmentedControl removeAllSegments];
[super viewDidLoad];
}
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)dealloc {
[segmentedControl release];
[super dealloc];
}
@end
相关文章推荐
- iOS控件之UISlider
- iOS控件之UITextField
- UI适配攻略!安卓&苹果碎片化
- iOS控件之UIButton
- 五分钟搞懂Android的消息机制(Handle,Looper,MessageQueue)
- iOS控件之UILabel
- LeetCode:Increasing Triplet Subsequence
- 1099. Build A Binary Search Tree (30)
- UIRL编码
- 【kaldi】Kaldi tutorial翻译之Prerequisites(前提条件)-kaldi学习前必备梳理
- java.lang.IllegalArgumentException: No converter found for return value of type: class
- SystemUI浅析
- Light oj-1100 - Again Array Queries,又是这个题,上次那个题用的线段树,这题差点就陷坑里了,简单的抽屉原理加暴力就可以了,真是坑~~
- Android 子线程更新UI:handle和runOnUiThread()
- pch文件导入uikit报错 could not build module 'uikit'
- 【iOS开发-91】GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例(转载)
- Codeforces 645E Intellectual Inquiry (贪心+DP)
- Tair-淘宝自主开发的一个分布式key/value存储系统
- j2ee四大作用域pagecontext,request,session,ServletContext(转)
- 三维箭头quiver3的用法