• UIStepper


    @在IOS5中添加了一个UIStepper的新控件。UIStepper能够连续添加或降低一个数值。

    控件的外观是两个水平并排的button构成。一个显示为“+”。一个显示为“-”。
           该控件的一个有趣的特征是当用户按住“+”,“-”button时。依据按住的时间长度,空间值的数字也以不同的数字改变。

    按住的时间越长,数值改变的越快。能够为UIStepper设定一个数值范围,比方0-99. 它的显示效果例如以下:


    1. 初始化控件

           UIStepper *_stepper = [[[UIStepper alloc] initWithFrame:CGRectMake(120, 20, 0, 0)] autorelease];


           // 响应事件
           [_stepper addTarget:self action:@selector(updateValue:) forControlEvents:UIControlEventValueChanged];
        
           //设置最大值和最小值
           [_stepper setMinimumValue:0];
           [_stepper setMaximumValue:100];
        
           // 控制值是否在[minimumValue, maximumValue]区间内循环。默认NO。
           [_stepper setWraps:YES];
        
           // 控制是否持续触发UIControlEventValueChanged事件。默觉得YES,即当按住时每次值改变都触发一                          次UIControlEventValueChanged事件,否则仅仅有在释放时触发UIControlEventValueChanged事件。


          _stepper.continuous = YES;
        
           // 每次递增或递减的值

           [_stepper setStepValue:10];


          // 控制是否在按住时自己主动持续递增或递减,默认YES;

           _stepper.autorepeat = YES;

    2. 属性说明

          value: 当前所表示的值,默觉得0.0。
          minimumValue: 最小能够表示的值,默认0.0;
          maximumValue: 最大能够表示的值,默认100.0;
          stepValue: 每次递增或递减的值,默觉得1.0;


    3.怎样推断加("+")减("-")

         (1)通过设置一个   double previousValue;   // 用来记录Stepper.value的上一次值

         (2)在对想操作的对象进行操作后,将Stepper.value = 0    


    [objc] view plaincopy在CODE上查看代码片派生到我的代码片
    1. #pragma mark - 设置UIStepper  
    2. - (void)createUIStepper{  
    3.   
    4.     UIStepper * stepperButton = [[UIStepper alloc]initWithFrame:CGRectMake(2255003010)];  
    5.     [stepperButton addTarget:self action:@selector(controlStepperValue:) forControlEvents:UIControlEventValueChanged];  
    6.     stepperButton.maximumValue = 100.0;  
    7.     stepperButton.minimumValue = 0.0;  
    8.     stepperButton.value = INITUISTEPPERVALUE;  
    9.     stepperButton.stepValue = 1.0;  
    10.     stepperButton.continuous = YES;  
    11.     stepperButton.wraps = NO;  
    12.     stepperButton.autorepeat = YES;  
    13.     [self.view addSubview:stepperButton];  
    14.     [stepperButton release];  
    15.   
    16. }  
    17.   
    18. - (void)controlStepperValue:(UIStepper *)stepper{  
    19.   
    20.     if (_segment.selectedSegmentIndex == 0) {  
    21.         if (stepper.value > previousValue) {  
    22.             CGRect redRect = _redView.frame;  
    23.             redRect.size.height += 5;  
    24.             _redView.frame = redRect;  
    25.         } else {  
    26.   
    27.             CGRect redRect = _redView.frame;  
    28.             redRect.size.height -= 5;  
    29.             _redView.frame = redRect;  
    30.         }  
    31.         previousValue = stepper.value;  
    32.     }else{  
    33.         if (stepper.value > previousValue) {  
    34.             CGRect redRect = _greenView.frame;  
    35.             redRect.size.height += 5;  
    36.             _greenView.frame = redRect;  
    37.         } else {  
    38.               
    39.             CGRect redRect = _greenView.frame;  
    40.             redRect.size.height -= 5;  
    41.             _greenView.frame = redRect;  
    42.         }  
    43.         previousValue = stepper.value;  
    44.     }  
    45.   
    46. }  
  • 相关阅读:
    有道难题 双倍超立方数 的解答
    《网瘾战争》如此震撼之作,不看枉为国人
    CSS样式命名规则及参考命名标准
    AS3自定义鼠标光标后应注意鼠标事件捕获问题
    AS3 RPG游戏引擎开发日志3:地图坐标转换
    最长的一天
    解决ASP乱码问题
    you are MJJ!!!!
    浅谈MIS系统架构
    让火狐等浏览器也能使用HTC(HTML component)的方法
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5304863.html
Copyright © 2020-2023  润新知