UI学习——步进器与分栏控件
本文将介绍IOS的UI控件里的步进器与分栏控件
·
前言
本文将介绍OC的UI里步进器与分栏控件
一、步进器
1.基本概念
步进器通常用于允许用户增加或减少数值,例如调整音量或选择数量。它通常由一个加号按钮和一个减号按钮组成,用户可以通过按这些按钮来逐步增加或减少数值。步进器还可以具有最小值和最大值,以确保用户不能选择超出指定范围的值。
2.基本属性
现在视图控制器的接口部分定义一个步进器对象,再到实现部分实现具体操作。
viewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
{
//定义步进器对象
//按照一定的数字来调整某个数据,例如调整音量或选择数量
UIStepper* _stepper;
}
@property (retain, nonatomic)UIStepper* stepper;
@end
viewController.m
//创建步进器对象
UIStepper* _stepper = [[UIStepper alloc] init];
//设置位置,宽高不能改变
_stepper.frame = CGRectMake(100, 100, 80, 40);
//设置步进器的最大值
_stepper.maximumValue = 10;
//设置步进器的最小值
_stepper.minimumValue = 0;
//设置步进器的当前值,如果不设置默认值为0
_stepper.value = 5;
//设置步进值,每次向前或向后步进的步伐值
_stepper.stepValue = 1;
//是否可以重复响应事件操作,也就是说如果为YES按住加号或减号会持续进行,
//如果为NO的话是按住再松开进行一次而不能持续进行
_stepper.autorepeat = YES;
//是否将步进器结果通过事件函数响应出来
//需要注意的是continous只有在autorepeat为YES的情况下才有效果
_stepper.continuous = YES;
//添加事件函数
//第一个参数:函数实现体
//第二个参数:函数体
//第三个参数:事件值改变状态
[_stepper addTarget:self action:@selector(stepChange) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:_stepper];
- (void)stepChange {
NSLog(@"step press!, value = %f", _stepper.value);
}
运行结果如下:
二、分栏控件
1.基本概念
分栏控件通常用于在几个选项之间进行选择。它由一组按钮组成,每个按钮代表一个选项。用户可以单击其中一个按钮来选择该选项。分栏控件通常用于在选项之间进行切换,例如选择不同的排序选项或过滤器选项。
2.基本属性
方法同上,具体就不在展开,我们直接来看实现部分。
//创建分栏控件对象
_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 addTarget:self action:@selector(segChange) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:_segControl];
}
- (void)segChange {
NSLog(@"%ld", _segControl.selectedSegmentIndex);
}
运行结果如下:
总结
以上就是本篇文章的所有内容,如果对你有帮助的话请点赞支持一下~
更多推荐
已为社区贡献1条内容
所有评论(0)