`
百合不是茶
  • 浏览: 354031 次
社区版块
存档分类
最新评论

UIProgressView进度条,UISlider滑动条,UISegmentedControl分隔栏的简单使用

阅读更多

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

 

 

  • 大小: 153.3 KB
0
1
分享到:
评论

相关推荐

    UISlider UIProgressView关联控制,自定义扩展使用

    在iOS开发中,UISlider和UIProgressView是两种常见的用户界面控件,它们分别用于接收用户的滑动输入和展示进度信息。本篇将详细介绍如何自定义扩展这两种控件,以便在项目中实现更加灵活和个性化的功能。 首先,...

    UISlider-TrackHeight:调整UISlider的滑动条高度

    UISlider-TrackHeight 调整UISlider的滑动条高度 Import pod 'UISlider-TrackHeight', '~> 1.0.2' Usage #import "UISlider+VDTrackHeight.h" self.slider.vd_trackHeight = 5.0f; License

    带微调的滑动条特效状态栏 源码 代码 sliderbar

    总的来说,"带微调的滑动条特效状态栏"源码提供了对滑动条组件的一种创新性使用,结合了特效和微调功能,提高了用户与状态栏的交互体验。无论是对于UI设计师还是开发者,理解和实现这样的功能都能提升他们的专业技能...

    移动应用开发-iOS开发示例教程之滑动条的实现.zip

    除了UISlider,iOS还提供了一些其他类型的滑动组件,如UISegmentedControl,它允许用户在多个预设选项间切换,虽然功能上不完全相同,但在某些场景下可以作为滑动条的替代品。 通过这个iOS开发示例教程,开发者...

    UISlider+UILable实现对字体大小的设置(含说明文档)

    2.在具体的设置页面,滑动Slider可以调整UILable中字体的大小,并用一个UILable来显示Slider当前的值(即当前字体的值)。 3.将用户设置的字体大小存入一个plist配置文件,当再次进入设置页面时,先读取用户之前的...

    ios-Slider-双向选择渐变色滑动条.zip

    1. **双向选择**:与标准的UISlider不同,WWTwoSliderView允许用户同时设置两个独立的值,分别代表滑动条的起始和结束点。这种设计特别适合于表示范围,如价格区间、时间范围等。 2. **渐变色**:滑动条的填充颜色...

    UISlider Demo代码

    在iOS开发中,UISlider是苹果提供的一个基本控件,用于显示用户可调节的滑动条,常用于音量控制、进度调整等场景。本`UISlider Demo`代码旨在通过实例展示如何创建、自定义以及操作UISlider,帮助开发者更好地理解和...

    iOS自定义方格进度条

    - 若需创建圆形进度条,可以子类化`UIProgressView`而非`UIView`,因为它已经提供了圆形的基底。 - 设置`progressViewStyle`为`.default`或`.bar`,然后调整边框宽度和颜色。 - 更新进度时,利用`layer.sublayers...

    OC Control ScaleSlider(滑动条).zip

    "OC Control ScaleSlider(滑动条)"是一个基于Objective-C实现的自定义滑动条控件,它扩展了苹果原生的UISlider,增加了更多自定义功能和交互体验。这个压缩包中的ScaleSlider(滑动条)文件,很可能是包含了该自定义...

    ios-iOS数据持久.zip

    Demo里分别添加UISegmentedControl、UIActivityIndicatorView、UISwitch、UITextField、UIProgressView、UISlider、UITextView控件,使用user defaults、property list 即Plist、archived objects 、text file四种...

    ios的UISlider自定义

    本文将深入探讨如何使用图片来自定义iOS中的UISlider。 首先,我们需要理解UISlider的基本结构。一个UISlider主要由三部分组成:轨道(track), thumb(滑块)和当前值指示器。自定义图片主要针对轨道和滑块进行。...

    ios-试图的滑动条和内容的布局.zip

    在实际项目中,滑动条和内容布局经常结合使用,例如在设置界面中,滑动条用于调整某个参数,而内容布局确保滑动条和其他元素在屏幕上美观地排列。熟练掌握这两个概念对于构建高效、响应式的iOS应用至关重要。通过...

    音乐播放器之进度条控制音量大小

    滑动条的范围一般设定在0%到100%,对应于静音和最大音量。当用户拖动滑块时,对应的音量值会更新,并立即反映在播放的音乐上。 实现这一功能通常需要以下步骤: 1. **事件监听**:在进度条(滑块)组件上设置监听...

    UISlider.zip

    除了这些基本属性,UISlider还支持自定义滑动条的图像,包括滑块的背景、滑块本身的图像以及滑块的轨道图像。这可以通过以下方式实现: 1. **minimumTrackImage**: 用于设置滑条未被选中部分的图像。 2. **...

    UISlider的用法举例

    列举了UISlider的一些常用属性及用UISlider控制uilabel内字体的大小,

    代码实现UISlider 和 UISwitch

    首先,UISlider是一种允许用户在指定范围内选择一个值的滑动条控件。它的主要属性包括minimumValue(最小值)、maximumValue(最大值)和value(当前值)。我们可以使用以下代码创建并配置一个UISlider: ```swift ...

    UISlider的用途的方法

    综上所述,通过使用UISlider,我们可以为用户提供一个简单直观的数值选择方式,增强应用的交互体验。而通过上述代码的实现,我们可以了解到UISlider的基本用途和基本的实现方法,这对于iOS应用开发是一个非常实用的...

    ios-自定义UISlider.zip

    在iOS开发中,UISlider是苹果提供的一种基本的UI组件,用于展示用户可选择的连续范围的值。这个“ios-自定义UISlider.zip”文件包含了一个定制版的UISlider,它增强了原生滑杆的功能,使其在翻页场景下更具实用性。...

    iphone 开发基础控件UISlider

    在iPhone应用开发中,UISlider常被用于音量调节、进度条控制等场景。本教程将详细介绍UISlider的常用属性设置、点击事件处理以及自定义滑块图片,非常适合iOS开发初学者学习。** ### 1. UISlider的基本使用 首先,...

    EFCircularSlider 可扩展的圆形滑杠

    EFCircularSlider是一款高度可定制和可扩展的圆形滑动条控件,它为iOS开发者提供了在用户界面中实现独特且吸引人的交互方式。这款控件的设计理念是打破传统线性滑动条的限制,采用弧形设计,使得UI更加现代化和独特...

Global site tag (gtag.js) - Google Analytics