UIStepper
@在IOS5中增加了一个UIStepper的新控件,UIStepper可以连续增加或减少一个数值。控件的外观是两个水平并排的按钮构成,一个显示为“+”,一个显示为“-”。
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
- #pragma mark - 设置UIStepper
- - ( void )createUIStepper{
- UIStepper * stepperButton = [[UIStepper alloc ]initWithFrame:CGRectMake(2 2 5 , 5 0 0 , 3 0 , 1 0 )];
- [stepperButton addTarget : self action : @selector (controlStepperValue:) forControlEvents :UIControlEventValueChanged];
- stepperButton .maximumValue = 1 0 0 .0 ;
- stepperButton .minimumValue = 0 .0 ;
- stepperButton .value = INITUISTEPPERVALUE;
- stepperButton .stepValue = 1 .0 ;
- stepperButton .continuous = YES ;
- stepperButton .wraps = NO ;
- stepperButton .autorepeat = YES ;
- [ self .view addSubview :stepperButton];
- [stepperButton release ];
- }
- - ( void )controlStepperValue:( UIStepper *)stepper{
- if (_segment .selectedSegmentIndex == 0 ) {
- if (stepper .value > previousValue) {
- CGRect redRect = _redView .frame ;
- redRect .size .height += 5 ;
- _redView .frame = redRect;
- } else {
- CGRect redRect = _redView .frame ;
- redRect .size .height -= 5 ;
- _redView .frame = redRect;
- }
- previousValue = stepper .value ;
- } else {
- if (stepper .value > previousValue) {
- CGRect redRect = _greenView .frame ;
- redRect .size .height += 5 ;
- _greenView .frame = redRect;
- } else {
- CGRect redRect = _greenView .frame ;
- redRect .size .height -= 5 ;
- _greenView .frame = redRect;
- }
- previousValue = stepper .value ;
- }
- }
//如下面例子
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.view.backgroundColor=[UIColor yellowColor];
UIStepper *stepper = [[UIStepper alloc] init];
stepper.tag = 10;
stepper.center = CGPointMake(160, 240);
stepper.minimumValue = 1; //设置最小值
stepper.maximumValue = 30; //设置最大值
stepper.stepValue = 2; //每次递增2
stepper.value = 15; //初始值
[stepper setWraps:YES]; //是否循环
[stepper addTarget:self action:@selector(doTest) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:stepper];
[stepper release];
}
-(void)doTest
{
UIStepper *per = (UIStepper*)[self.view viewWithTag:10];
if (per.continuous)
{
NSLog(@"Y");
int a = per.value; //获取当前值
NSLog(@"%d", a);
}
else
{
NSLog(@"N");
}
}
UIStepper的更多相关文章
- UI第九节——UIStepper
- (void)viewDidLoad { [super viewDidLoad]; // 实例化UIStepper,大小是固定的 UIStepper *stepper = ...
- UISegmentedControl和UIStepper的使用
UISegmentedControl:分栏控件,常用的属性和方法是 1.tintColor:控制分栏控件的颜色风格 2.insertSegmentWithTitle(Image):插入分栏标题(图片) ...
- UI中一些不常用的控件UIActivityIndicatorView、UIProgressView、UISegmentedControl、UIStepper、UISwitch、UITextView、UIAlertController
//UIActivityIndicatorView //小菊花,加载 #import "ActivityIndicatorVC.h" @interface ActivityIndi ...
- UIImageView、UISlider、UISwitch、UIStepper、UISegmentControl
UIImageView——图像视图 作用:专门用来显示图片的控件 . 设置图像 [self.imageView setImage:[UIImage imageNamed:@"abc.png& ...
- UIStepper步进器 ——事件驱动型控件,(一个+和-按钮的)
- (void)viewDidLoad { [super viewDidLoad]; //步进器 固定的size (94*27), 事件驱动型控件 UIStepper *st ...
- iOS - UIStepper
前言 NS_CLASS_AVAILABLE_IOS(5_0) __TVOS_PROHIBITED @interface UIStepper : UIControl @available(iOS 5.0 ...
- swift系统学习控件篇:UIProgressView+NSTimer+UIstepper+UIAlertController
工作之余,学习下swift大法.把自己的学习过程分享一下.当中的布局很乱,就表在意这些细节了.直接上代码: UIProgressView+NSTimer+UIstepper UIStepper UIP ...
- UIStepper swift
// // ViewController.swift // UILabelTest // // Created by mac on 15/6/23. // Copyright (c) 2015年 fa ...
- iOS开发——UI篇Swift篇&UISwitch/UIStepper
UISwitch/UIStepper override func viewDidLoad() { super.viewDidLoad() titleLabel.text = titleString / ...
随机推荐
- 在C++工程中设置全局函数
在头文件中对该函数进行全局函数的声明: extern void Test(); 在cpp文件中进行函数的定义: void Test() { MessageBox(NULL,L"调用了C++的 ...
- ViewController之间的切换动画
一 .API介绍 iOS7开始,苹果推出了自定义转场动画API.从此,任何可以用Core Animation实现的动画,都可以出现在两个ViewController的切换之间 知识点图: 从上图可以看 ...
- [SAP ABAP开发技术总结]OLE
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- python_way day13 sqlalchemy
sqlalchemy 一对多 多对多 1.一对多 一.#创建表结构 class Host(Base): #所有的子类都继承这个基类 #创建表结构 __tablename__ = 'hosts' id ...
- STORM_0004_windows下zookeeper的伪集群的搭建
-----------------------------------------------------START------------------------------------------ ...
- 数据库mysql中having 和where的区别
having的用法 having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句前.而 having子句在聚合后对组记录进行筛选. ...
- 新浪博客地址 http://blog.sina.com.cn/u/2145079955
原来 新浪博客地址 http://blog.sina.com.cn/u/2145079955
- JUnit 简单的使用 (学习转载)
JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation: @Before:初始化方法 对于每一个测试方法都要执行一次(注意与BeforeCla ...
- Eclipse使用Jetty(转)
eclipse 与 jetty 结合的最佳实践 http://www.cnblogs.com/mignet/archive/2011/12/04/eclipse_jetty_perfect_integ ...
- hdu4570Multi-bit Trie
链接 13年长沙邀请赛的题,神题意~ 题意:摘自http://blog.csdn.net/libin56842/article/details/9703457 这题题意确实有点难懂,起码对于我这个英语 ...