这是一个简单的垂直步进控制,类似于 UIStepper 控件的功能。我个人觉得苹果只推出水平步进控制是一件目光短浅的事情,因此创建了它来弥补这个不足。
注意:RPVerticalStepper 是 UIControl 的子类,因此它继承了一个典型控件对象的全部特性。
stringWithFormat
方法来更改精度,显示为整数。value
(CGFloat,默认为 1):步进控制器的当前值minimumValue
(CGFloat,默认为 1):步进控制器值可能的最小值(在禁用递减按钮之前)maximumValue
(CGFloat,默认为 99):步进控制器值可以可能的最大值(在禁用递增按钮之前)stepValue
(CGFloat,默认为 1):当按下递增或递减按钮时,值为多少改变autoRepeat
(BOOL,默认为 YES
):设置步进器是否应保持更改值,只要用户按下控件autoRepeatInterval
(CGFloat,默认为 0.5 秒):设置自动重复更改步进器值的时间间隔IBAction
连接到 Value Changed
事件RPVerticalStepperDelegate
协议,然后使用 stepperValueDidChange:
方法来获取步进器值何时更改代码库附带了一个示例项目
这里是一个基本示例,假设你已经将控件添加到 NIB 或 Storyboard 文件中
在 .h
头文件中
#import <UIKit/UIKit.h>
#import "RPVerticalStepper.h"
@interface ViewController : UIViewController
@property (nonatomic, weak) IBOutlet UILabel *stepperLabel;
@property (nonatomic, weak) IBOutlet RPVerticalStepper *stepper;
@end
在 .m
实现文件中
#import "ViewController.h"
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Set some different defaults
self.stepper.value = 1.0f;
self.stepper.minimumValue = -100.0f;
self.stepper.maximumValue = 100.0f;
self.stepper.stepValue = 5.0f;
self.stepper.autoRepeatInterval = 0.1f;
}
// This is called from the control event hooked up to the control in the Storyboard
- (IBAction)stepperDidChange:(RPVerticalStepper *)stepper
{
self.stepperLabel.text = [NSString stringWithFormat:@"%.f", stepper.value];
}
@end
基本上,此代码可以在商业和非商业项目中免费使用,无需署名。
有关更多详细信息,请参阅 LICENSE
文件。