博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
步进器和分组按钮
阅读量:5892 次
发布时间:2019-06-19

本文共 4759 字,大约阅读时间需要 15 分钟。

hot3.png

#import 
@interface VCRoot : UIViewController//进度条@property (retain,nonatomic) UIProgressView* progressView ;//滑动条@property (retain,nonatomic) UISlider* sliderView ;@property (retain,nonatomic) NSTimer* timer ;@property (assign,nonatomic) float value ;@end#import "VCRoot.h"#import "AppDelegate.h"#import "VCSecond.h"@interface VCRoot ()@end@implementation VCRoot- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];    if (self) {        // Custom initialization    }    return self;}-(void) createStepper{    //创建一个步进器对象    UIStepper* stepper = [[UIStepper alloc] init] ;    //设置步进器的位置,宽高不能改变    stepper.frame = CGRectMake(100, 200, 200, 40) ;    //步进器的当前的计数值    stepper.value = 0 ;    //每次增加或减少的值,步长值    stepper.stepValue = 10 ;    //设置步进器的最小范围值    //默认为:0    //值可以为负值    stepper.minimumValue = 0 ;    //设置步进器最大值的范围    //默认值为100,    //要保证maximumValue>minimumValue    stepper.maximumValue = 1000 ;    //按住步进器按钮时是否自动进行增加减少计算    stepper.autorepeat = YES ;    //是否连续调用事件函数//    stepper.continuous = YES ;    //添加一个事件函数    //每当步进器的值发生变化时,调用事件函数    [stepper addTarget:self action:@selector(stepChange:) forControlEvents:UIControlEventValueChanged] ;    //添加控件到视图上    [self.view addSubview:stepper] ;    self.value = 0;}//步进器事件函数实现-(void) stepChange:(UIStepper*) step{    NSLog(@"value = %f",step.value) ;        UIApplication* app = [UIApplication sharedApplication] ;        AppDelegate* appD = app.delegate ;    //获得步进器的比例值    appD.changeValue = (step.value -step.minimumValue)/ (step.maximumValue - step.minimumValue);    if (step.value == self.value){        return;    }else if (self.value >step.value){        _progressView.progress -= 0.01;        self.value = step.value;    }    else{        _progressView.progress += 0.01 ;        if (_progressView.progress >= 1.0f)        {            return ;        }        self.value = step.value;    }}-(void) createSegment{    NSArray *array1 = @[@"5元",@"10元",@"15元",@"20元"];    // 创建分组按钮控件    UISegmentedControl* seg = [[UISegmentedControl alloc] initWithItems:array1] ;    //设置分组按钮的位置];    //位置和宽度可以设置,高度可变更    seg.frame = CGRectMake(20, 300, 280, 40) ;    seg.tintColor = [UIColor orangeColor];    //向控件中添加一个按钮    //参数一:按钮中标题    //参数二:按钮所在位置的索引,0位置在最左侧    //参数三:是否产生一个插入的动画//    [seg insertSegmentWithTitle:@"15元" atIndex:0 animated:NO] ;//    [seg insertSegmentWithTitle:@"10元" atIndex:1 animated:NO];//    [seg insertSegmentWithTitle:@"5元" atIndex:2 animated:NO] ;//    [seg insertSegmentWithTitle:@"30元" atIndex:3 animated:NO] ;    //添加控件的事件函数    [seg addTarget:self action:@selector(segChange:) forControlEvents:UIControlEventValueChanged] ;    //初始选中第一个按钮    //设置选中按钮的索引    seg.selectedSegmentIndex = -1 ;//    [seg imageForSegmentAtIndex:1];//    [seg setImage:[UIImage imageNamed:@"peas.png"] forSegmentAtIndex:1];//    [seg insertSegmentWithImage:[UIImage imageNamed:@"peas.png"] atIndex:1 animated:YES];//    [seg setBackgroundImage:[UIImage imageNamed:@"peas.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];    NSString* strTitle = [seg titleForSegmentAtIndex:0] ;    NSLog(@"title = %@",strTitle) ;        //添加图像按钮    //[seg insertSegmentWithImage:[UIImage imageNamed:@"17_1.jpg"] atIndex:0 animated:NO] ;        [self.view addSubview:seg] ;}//当更改选中按钮时,调用此函数-(void) segChange:(UISegmentedControl*) seg{    NSLog(@"index = %d",seg.selectedSegmentIndex) ;        NSString* strTitle = [seg titleForSegmentAtIndex:seg.selectedSegmentIndex] ;    NSLog(@"title = %@",strTitle) ;}- (void)viewDidLoad{    [super viewDidLoad];    // Do any additional setup after loading the view.        [self createStepper] ;    [self createSegment] ;    [self createSecond]  ;    }-(void)createSecond{    _progressView = [[UIProgressView alloc] init] ;        _progressView.frame = CGRectMake(10, 100, 300, 40) ;        _progressView.progress = 0 ;        [self.view addSubview:_progressView] ;    //    _timer = [NSTimer scheduledTimerWithTimeInterval:0.02 target:self selector:@selector(updateProgress:) userInfo:nil repeats:YES] ;        UIApplication* app = [UIApplication sharedApplication] ;        AppDelegate* appD = app.delegate ;        _value = appD.changeValue ;    }-(void) updateProgress:(id) obj{    _progressView.progress += 0.01 ;    if (_progressView.progress >= 1.0f)    {        [_timer invalidate] ;    }}//-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event//{//    VCSecond* vc = [[VCSecond alloc] init] ;//    //    [self presentViewController:vc animated:YES completion:nil] ;//}- (void)didReceiveMemoryWarning{    [super didReceiveMemoryWarning];    // Dispose of any resources that can be recreated.}

 

091524_kSE6_2319073.png

转载于:https://my.oschina.net/u/2319073/blog/661779

你可能感兴趣的文章
JSP----九大内置对象
查看>>
洛谷 P4071 [SDOI2016]排列计数
查看>>
动态内存
查看>>
opengl的mipmap
查看>>
mysql存储引擎简析
查看>>
Linux下干净卸载mysql详解
查看>>
LINUX信号量实现对公共数据的读写
查看>>
acpi和btrfs-安装opensuse时的选项
查看>>
The Z-Index CSS Property: A Comprehensive Look | Smashing Coding
查看>>
Java中HashMap详解
查看>>
Office版本差别引发的语法问题
查看>>
Apache——访问控制
查看>>
web前端(10)—— 浮动,清除默认样式
查看>>
ggplot2 aes函数map到data笔记
查看>>
3450: Tyvj1952 Easy
查看>>
delphi基本语法
查看>>
java中的Static class
查看>>
删除重复节点
查看>>
.net请求Webservice简单实现天气预报功能
查看>>
Loj #3056. 「HNOI2019」多边形
查看>>