UIStepper
- alloc init 创建步进器对象
- frame 设置位置,宽 高 不能变
- minimumValue 设置最小值
- maximumValue 设置最大值
- value 设置当前值
- stepValue 设置步进值
- autorepeat 是否可以重复响应事件(即是否支持长按响应)
- continuous 长按按钮时,是否每次将步进结果通过事件函数响应出来
- addTarget 添加响应事件
具体使用:
//ViewController.h
@property(strong,nonatomic)UIStepper* stepper;
//ViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//创建步进器对象
_stepper = [[UIStepper alloc]init];
//设置步进器位置
_stepper.frame = CGRectMake(100, 100, 80, 40);
_stepper.minimumValue = 0;
_stepper.maximumValue = 100;
_stepper.value = 10;
//设置步进值,每次变化多少
_stepper.stepValue = 10;
//是否可以重复响应事件操作
_stepper.autorepeat = YES;
//长按按钮时,是否每次将步进结果通过事件函数响应出来
_stepper.continuous = YES;
[_stepper addTarget:self action:@selector(pressStepper) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:_stepper];
}
-(void)pressStepper{
NSLog(@"step press! value = %f",_stepper.value);
}
UISegmentControl分栏控件
- alloc init 创建分栏控件
- frame 设置位置
- (void)insertSegmentWithTitle:(nullable NSString *)title atIndex:(NSUInteger)segment animated:(BOOL)animated; 插入栏目内容
- selectedSegmentIndex 设置当前选中的栏目序号
- tintColor 设置控件风格颜色
- addTarget 添加响应事件
- (nullable NSString *) titleForSegmentAtIndex:(NSUInteger)segment; 根据序号获取栏目的标题
//ViewController.h
@property(strong,nonatomic)UISegmentControl* segControl;
//ViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
_segControl = [[UISegmentedControl alloc]init];
//设置分栏控件位置,宽度可变,高度不可变
_segControl.frame = CGRectMake(10, 200, 300, 40);
[_segControl insertSegmentWithTitle:@"0元" atIndex:0 animated:NO];
[_segControl insertSegmentWithTitle:@"5元" atIndex:1 animated:NO];
[_segControl insertSegmentWithTitle:@"10元" atIndex:2 animated:NO];
_segControl.selectedSegmentIndex = 0;
_segControl.tintColor = [UIColor purpleColor];
[_segControl addTarget:self action:@selector(pressSegmentControl) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:_segControl];
}
-(void)pressSegmentControl{
NSLog(@"%ld",_segControl.selectedSegmentIndex);
NSLog(@"当前选中:%@",[_segControl titleForSegmentAtIndex:(_segControl.selectedSegmentIndex)]);
}
最终效果如图:
屏幕快照 2017-10-11 17.09.52.png想要酷炫一些的步进器还是要自定义控件的......
大家有好的意见或建议欢迎讨论~
网友评论