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

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关联控制,自定义扩展使用

    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

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

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

    ios-iOS数据持久.zip

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

    UISlider的用法举例

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

    ios的UISlider自定义

    ios的UISlider自定义,用图片自定义添加

    XCode iPhone UISlider用法

    移动滑动条就可以设置文字控件背景颜色的绿色纸 在文字控件中设置0~1.0的浮点值就卡可以设置文字控件背景颜色的红色值 核心带啊: float fAlpha = mySlider.value / (mySlider.maximumValue-mySlider.minimumValue...

    UISlider.zip

    UISLider滑条图标大小位置,滑条大小颜色形状设置Demo

    自定义UISlider_双按钮

    一个实用的自定义双按钮UISlider实例: 1、可根据用户需要设定最大值和最小值; 2、可以实时获取左侧按钮和右侧按钮分别对应的值; 3、滑动灵活精准,数值变化实时准确; 4、完全开源,开以者可以根据自己需要做相应...

    UISlider Demo代码

    UISlider Demo IOS 控件 代码

    ios-自定义UISlider.zip

    自定义UISlider, 翻页时显示页数, 翻页进度, 点击slider滑块快速翻页

    iOS中的UISlider滑块组件用法总结

    不仅是滑动开关,UISlider组件也是常用的进度条制作工具,这里我们就一起来看一下iOS中的UISlider滑块组件用法总结,需要的朋友可以参考下

    iOS实现双向滑动条效果

    主要为大家详细介绍了iOS实现双向滑动条效果的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    通过UISlider改变背景颜色

    通过UISlider的滑动来改变window的背景颜色,并且可以根据window的背景颜色来改变slider的value值。

    UISlider控制北京颜色

    UISlider控制背景颜色

    UISlider使用讲解

    UISlider使用讲解地址如下http://www.cnblogs.com/qinghuaideren/p/3678670.html

    CustomMPPlayer 2

    自定义播放器,进度条,uislider,MPMovieplayer

    iphone 开发基础控件UISlider

    iphone中的基础控件UISlider,适合初学者,主要学习UISlider的常用属性设置、点击事件、以及替换滑块图片等

    TGPControls:带有刻度,图像和动画标签的UISlider的直接替换

    TGP控件带有刻度和动画标签的滑块(快速) TGPControls是UISlider和UILabel的UISlider替代,具有Interface Builder中的视觉预览,单眼线检测,流畅的动画,简单的API,强大的自定义功能。什么是DiscreteSlider? ...

Global site tag (gtag.js) - Google Analytics