UISegmentedControl是开发中经常会使用到,所以刚刚在学习的时候也重点的看了下该控件
进度条和滑动条一半很少会使用到(下载的时候会经常使用到该属性),android的进度条和滑动的设置比ios复杂很多
先上图
1,进度条
/**进度条的使用 1.创建UIProGressView对象 2,创建定时器 3,将定时器的值与进度条的长度关联setProgress 4,释放对象 */ //进度条的使用UIProgressView progress=[[UIProgressView alloc]initWithFrame:CGRectMake(50, 250, 300, 150)]; progress.progressViewStyle=UIProgressViewStyleDefault; progress.progressTintColor=[UIColor redColor];//设置进度条的颜色,下面设置了图片会覆盖掉该颜色 progress.trackTintColor=[UIColor grayColor];//设置背景柱状图的颜色 progress.progressImage=[UIImage imageNamed:@"login.png"];//图片替代进度条 progress.transform=CGAffineTransformMakeScale(1.0f, 100.0f);//设置进度条的高度 [self.view addSubview:progress]; [progress release]; // //创建定时器,一秒执行一次 time=[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(show) userInfo:nil repeats:1]; proValue=1.0;
方法:
//点击事件 -(void)show{ // NameBean *bean=[[NameBean alloc]init]; // bean.name=@"百合不是茶next"; // bean.address=@"湖南next"; // bean.age=122; // // ViewController *vc =[[ViewController alloc]init]; // [delegate getOneNameBean:bean];//设置代理数据 // [self.navigationController pushViewController:vc animated:1]; // // [bean release]; // [vc release]; ++proValue; if (proValue>10) { //停止定时器 [time invalidate]; //计数器停止后,进度条重置 [progress setProgress:0]; }else{ //进度条停止前进 [progress setProgress:proValue/10]; }
注意:
进度条的方法使用了定时器,事件处理也是在定时器中操作的
NSTimer *time=[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(show) userInfo:nil repeats:1];
2,滑动条
/** 滑动条 UISlider 1,创建UISlider的对象 2,指定滑动区间 3,设置滑动事件 4,释放 */ slider=[[UISlider alloc]initWithFrame:CGRectMake(50, 300, 300, 150)]; //指定最小值 slider.minimumValue=0; //指定最大值 slider.maximumValue=100; //指定可变最大值50 slider.value=50; //设置点击实现 [slider addTarget:self action:@selector(getSliderValue) forControlEvents:UIControlEventValueChanged]; [self.view addSubview:slider]; [slider release];
方法
//滑动条的事件方法。 -(void)getSliderValue{ NSLog(@"滑动条的值是=%f",slider.value); // [progress setProgress:slider.value]; }
运行:滑动时:
2015-12-20 16:04:01.755 viewDemo[1125:189580] 滑动条的值是=16.666666
2015-12-20 16:04:01.772 viewDemo[1125:189580] 滑动条的值是=17.222218
2015-12-20 16:04:01.795 viewDemo[1125:189580] 滑动条的值是=17.444443
2015-12-20 16:04:01.800 viewDemo[1125:189580] 滑动条的值是=17.444443
3,分隔栏
/** 分格拦控件UISegmentControl */ segment=[[UISegmentedControl alloc]initWithItems:[NSArray arrayWithObjects:@"买入",@"卖出",nil]]; segment.frame=CGRectMake(50, 500, 300, 100); segment.selectedSegmentIndex=1;//默认选中第一个 // [segment setImage:[UIImage imageNamed:@"login.png"] forSegmentAtIndex:1];//设置选中的背景图片 // segment.segmentedControlStyle=UISegmentedControlSegmentCenter;//设置风格 //插入数据 // [segment insertSegmentWithImage:[UIImage imageNamed:@"login.png"] atIndex:1 animated:0]; //背景图片的设置 [segment setBackgroundImage:[UIImage imageNamed:@"login.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; [segment setBackgroundImage:[UIImage imageNamed:@"bk.jpg"] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault]; //点击事件 [segment addTarget:self action:@selector(getSegment) forControlEvents:UIControlEventValueChanged]; [self.view addSubview:segment]; [segment release];
点击事件
//分格拦控件事件 -(void)getSegment{ int n=segment.selectedSegmentIndex; [segment setBackgroundImage:[UIImage imageNamed:@"bk.jpg"] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault]; NSLog(@"%d,标题是=%@",n,segment); }
设置选中背景图片
[segment setBackgroundImage:[UIImage imageNamed:@"bk.jpg"] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];
设置未选中背景图片
[segment setBackgroundImage:[UIImage imageNamed:@"login.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
完整代码:
// // ViewController2.m // viewDemo // // Created by wang on 15/12/20. // Copyright © 2015年 wang. All rights reserved. // #import "ViewController2.h" #import "ViewController.h" #import "NameBean.h" @interface ViewController2 (){ UIProgressView *progress; NSTimer *time; double proValue; UISlider *slider; UISegmentedControl *segment; } @end @implementation ViewController2 @synthesize nb; @synthesize delegate; - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. NSLog(@"%@",nb.address); self.title=@"控件的简单使用"; //UIButton的使用 UIButton *btn= [[UIButton alloc]initWithFrame:CGRectMake(300, 100, 100, 100)]; btn.backgroundColor=[UIColor yellowColor]; //设置文字 // [btn setTitle:@"按钮" forState:UIControlStateNormal]; // // //获取标题的名字 // NSString *titleName=[btn titleForState:UIControlStateNormal]; // NSLog(@"获取到标题的名字=%@",titleName); //设置图片 [btn setBackgroundImage:[UIImage imageNamed:@"login.png"] forState:UIControlStateNormal]; //获取按钮图片的名字 UIImage *image=[btn imageForState:UIControlStateNormal]; NSLog(@"图片的名称=%@",[image imageAsset]); //按钮的点击事件 [btn addTarget:self action:@selector(show) forControlEvents:UIControlEventTouchUpInside]; //移除点击事件 // [btn removeTarget:self action:@selector(show) forControlEvents:UIControlEventTouchUpInside]; //按钮的外观控制 //添加到View [self.view addSubview:btn]; //释放 [btn release]; /**进度条的使用 1.创建UIProGressView对象 2,创建定时器 3,将定时器的值与进度条的长度关联setProgress 4,释放对象 */ //进度条的使用UIProgressView progress=[[UIProgressView alloc]initWithFrame:CGRectMake(50, 250, 300, 150)]; progress.progressViewStyle=UIProgressViewStyleDefault; progress.progressTintColor=[UIColor redColor];//设置进度条的颜色,下面设置了图片会覆盖掉该颜色 progress.trackTintColor=[UIColor grayColor];//设置背景柱状图的颜色 progress.progressImage=[UIImage imageNamed:@"login.png"];//图片替代进度条 progress.transform=CGAffineTransformMakeScale(1.0f, 100.0f);//设置进度条的高度 [self.view addSubview:progress]; [progress release]; // //创建定时器,一秒执行一次 time=[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(show) userInfo:nil repeats:1]; proValue=1.0; /** 滑动条 UISlider 1,创建UISlider的对象 2,指定滑动区间 3,设置滑动事件 4,释放 */ slider=[[UISlider alloc]initWithFrame:CGRectMake(50, 300, 300, 150)]; //指定最小值 slider.minimumValue=0; //指定最大值 slider.maximumValue=100; //指定可变最大值50 slider.value=50; //设置点击实现 [slider addTarget:self action:@selector(getSliderValue) forControlEvents:UIControlEventValueChanged]; [self.view addSubview:slider]; [slider release]; /** 分格拦控件UISegmentControl */ segment=[[UISegmentedControl alloc]initWithItems:[NSArray arrayWithObjects:@"买入",@"卖出",nil]]; segment.frame=CGRectMake(50, 500, 300, 100); segment.selectedSegmentIndex=1;//默认选中第一个 // [segment setImage:[UIImage imageNamed:@"login.png"] forSegmentAtIndex:1];//设置选中的背景图片 // segment.segmentedControlStyle=UISegmentedControlSegmentCenter;//设置风格 //插入数据 // [segment insertSegmentWithImage:[UIImage imageNamed:@"login.png"] atIndex:1 animated:0]; //背景图片的设置 [segment setBackgroundImage:[UIImage imageNamed:@"login.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; [segment setBackgroundImage:[UIImage imageNamed:@"bk.jpg"] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault]; //点击事件 [segment addTarget:self action:@selector(getSegment) forControlEvents:UIControlEventValueChanged]; [self.view addSubview:segment]; [segment release]; } -(void)viewDidAppear:(BOOL)animated{ } //分格拦控件事件 -(void)getSegment{ int n=segment.selectedSegmentIndex; [segment setBackgroundImage:[UIImage imageNamed:@"bk.jpg"] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault]; NSLog(@"%d,标题是=%@",n,segment); } //滑动条的事件方法。 -(void)getSliderValue{ NSLog(@"滑动条的值是=%f",slider.value); // [progress setProgress:slider.value]; } //点击事件 -(void)show{ // NameBean *bean=[[NameBean alloc]init]; // bean.name=@"百合不是茶next"; // bean.address=@"湖南next"; // bean.age=122; // // ViewController *vc =[[ViewController alloc]init]; // [delegate getOneNameBean:bean];//设置代理数据 // [self.navigationController pushViewController:vc animated:1]; // // [bean release]; // [vc release]; ++proValue; if (proValue>10) { //停止定时器 [time invalidate]; //计数器停止后,进度条重置 [progress setProgress:0]; }else{ //进度条停止前进 [progress setProgress:proValue/10]; } } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } /* #pragma mark - Navigation // In a storyboard-based application, you will often want to do a little preparation before navigation - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { // Get the new view controller using [segue destinationViewController]. // Pass the selected object to the new view controller. } */ @end
相关推荐
在iOS开发中,UISlider和UIProgressView是两种常见的用户界面控件,它们分别用于接收用户的滑动输入和展示进度信息。本篇将详细介绍如何自定义扩展这两种控件,以便在项目中实现更加灵活和个性化的功能。 首先,...
UISlider-TrackHeight 调整UISlider的滑动条高度 Import pod 'UISlider-TrackHeight', '~> 1.0.2' Usage #import "UISlider+VDTrackHeight.h" self.slider.vd_trackHeight = 5.0f; License
总的来说,"带微调的滑动条特效状态栏"源码提供了对滑动条组件的一种创新性使用,结合了特效和微调功能,提高了用户与状态栏的交互体验。无论是对于UI设计师还是开发者,理解和实现这样的功能都能提升他们的专业技能...
除了UISlider,iOS还提供了一些其他类型的滑动组件,如UISegmentedControl,它允许用户在多个预设选项间切换,虽然功能上不完全相同,但在某些场景下可以作为滑动条的替代品。 通过这个iOS开发示例教程,开发者...
2.在具体的设置页面,滑动Slider可以调整UILable中字体的大小,并用一个UILable来显示Slider当前的值(即当前字体的值)。 3.将用户设置的字体大小存入一个plist配置文件,当再次进入设置页面时,先读取用户之前的...
1. **双向选择**:与标准的UISlider不同,WWTwoSliderView允许用户同时设置两个独立的值,分别代表滑动条的起始和结束点。这种设计特别适合于表示范围,如价格区间、时间范围等。 2. **渐变色**:滑动条的填充颜色...
在iOS开发中,UISlider是苹果提供的一个基本控件,用于显示用户可调节的滑动条,常用于音量控制、进度调整等场景。本`UISlider Demo`代码旨在通过实例展示如何创建、自定义以及操作UISlider,帮助开发者更好地理解和...
- 若需创建圆形进度条,可以子类化`UIProgressView`而非`UIView`,因为它已经提供了圆形的基底。 - 设置`progressViewStyle`为`.default`或`.bar`,然后调整边框宽度和颜色。 - 更新进度时,利用`layer.sublayers...
"OC Control ScaleSlider(滑动条)"是一个基于Objective-C实现的自定义滑动条控件,它扩展了苹果原生的UISlider,增加了更多自定义功能和交互体验。这个压缩包中的ScaleSlider(滑动条)文件,很可能是包含了该自定义...
Demo里分别添加UISegmentedControl、UIActivityIndicatorView、UISwitch、UITextField、UIProgressView、UISlider、UITextView控件,使用user defaults、property list 即Plist、archived objects 、text file四种...
本文将深入探讨如何使用图片来自定义iOS中的UISlider。 首先,我们需要理解UISlider的基本结构。一个UISlider主要由三部分组成:轨道(track), thumb(滑块)和当前值指示器。自定义图片主要针对轨道和滑块进行。...
在实际项目中,滑动条和内容布局经常结合使用,例如在设置界面中,滑动条用于调整某个参数,而内容布局确保滑动条和其他元素在屏幕上美观地排列。熟练掌握这两个概念对于构建高效、响应式的iOS应用至关重要。通过...
滑动条的范围一般设定在0%到100%,对应于静音和最大音量。当用户拖动滑块时,对应的音量值会更新,并立即反映在播放的音乐上。 实现这一功能通常需要以下步骤: 1. **事件监听**:在进度条(滑块)组件上设置监听...
除了这些基本属性,UISlider还支持自定义滑动条的图像,包括滑块的背景、滑块本身的图像以及滑块的轨道图像。这可以通过以下方式实现: 1. **minimumTrackImage**: 用于设置滑条未被选中部分的图像。 2. **...
列举了UISlider的一些常用属性及用UISlider控制uilabel内字体的大小,
首先,UISlider是一种允许用户在指定范围内选择一个值的滑动条控件。它的主要属性包括minimumValue(最小值)、maximumValue(最大值)和value(当前值)。我们可以使用以下代码创建并配置一个UISlider: ```swift ...
综上所述,通过使用UISlider,我们可以为用户提供一个简单直观的数值选择方式,增强应用的交互体验。而通过上述代码的实现,我们可以了解到UISlider的基本用途和基本的实现方法,这对于iOS应用开发是一个非常实用的...
在iOS开发中,UISlider是苹果提供的一种基本的UI组件,用于展示用户可选择的连续范围的值。这个“ios-自定义UISlider.zip”文件包含了一个定制版的UISlider,它增强了原生滑杆的功能,使其在翻页场景下更具实用性。...
在iPhone应用开发中,UISlider常被用于音量调节、进度条控制等场景。本教程将详细介绍UISlider的常用属性设置、点击事件处理以及自定义滑块图片,非常适合iOS开发初学者学习。** ### 1. UISlider的基本使用 首先,...
EFCircularSlider是一款高度可定制和可扩展的圆形滑动条控件,它为iOS开发者提供了在用户界面中实现独特且吸引人的交互方式。这款控件的设计理念是打破传统线性滑动条的限制,采用弧形设计,使得UI更加现代化和独特...