前言

本文将介绍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);
}

运行结果如下:

请添加图片描述

总结

以上就是本篇文章的所有内容,如果对你有帮助的话请点赞支持一下~

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐