iOS 5 : UIStepper Control

来源:互联网 发布:三大范式知乎 编辑:程序博客网 时间:2024/05/19 11:39

There is a new pre-built control in iOS 5 for incrementing or decrementing a value, UIStepper. The control has two buttons aligned horizontally, one labeled with a plus (+) the other a minus (-).

One nice feature is a continuous option, wherein if the user presses and holds down either +/- button, the stepper value is incremented repeatedly. The longer the button is held down, the faster the increment will occur. Also, you can have the increment value wrap around when a range of values is specified, for example, if you set min and max to 0 and 99 respectively, when the value reaches 99, the next value will be 0 (and vice-versa).

Below is a screenshot that shows the output of the example code below:

Below is a short code example showing the various properties available in UIStepper:

  1.   // Create a label to show the value in the stepper
  2.   label = [[UILabel alloc] initWithFrame:CGRectMake(10, 20, 100, 30)];
  3.   [label setTextColor:[UIColor whiteColor]];
  4.   [label setBackgroundColor:[UIColor clearColor]];
  5.   [label setTextAlignment:UITextAlignmentLeft];
  6.   [label setText: @"Quantity:"];
  7.   [[self view] addSubview:label];
  8.  
  9.   // Frame defines location, size values are ignored
  10.   UIStepper *stepper = [[UIStepper alloc] initWithFrame:CGRectMake(120, 20,0, 0)];    
  11.  
  12.   // Set action target and action for a particular value changed event
  13.   [stepper addTarget:self action:@selector(stepperPressed:)forControlEvents:UIControlEventValueChanged];
  14.  
  15.   // Set min and max
  16.   [stepper setMinimumValue:0];
  17.   [stepper setMaximumValue:99];
  18.  
  19.   // Value wraps around from minimum to maximum
  20.   [stepper setWraps:YES];
  21.  
  22.   // If continuos (default), changes are sent for each change in stepper,
  23.   // otherwise, change event occurs once user lets up on button
  24.   [stepper setContinuous:NO];
  25.  
  26.   // To change the increment value for each step
  27.   // (default is 1)
  28.   [stepper setStepValue:10];
原创粉丝点击