一.pragma mark ————- UISegmentedControl 分段按钮
———————————–继承于UIControl
1.初始化
UISegmentedControl seg = [UISegmentedControl alloc] initWithItems:(NSArray )
注意这个初始化用到的数组里的元素 必须是字符串 或者 镂空图
(1)字符串数组初始化
NSArray *itemArray = @[@"你好",@"KFC",@"再见"];
// 分段按钮
UISegmentControl *segmentControl = [[UISegmentControl alloc] initWithItems:itemArray];
segmentControl.frame = CGRectMake(20,100,300,50);
// 设置属性
// 设置默认的选中第2个
segmentControl.selectedSegmentIndex= 1;
// 修改旋转状态的 填充 颜色
segmentControl.tintColor = [UIColor blackColor];
// 修改中间段的宽度 (两边按钮的宽度会自动缩短)
[segmentControl setWidth:200 forSegmentAtIndex:1];
// 为指定下标的分段设置标题
[segmentControl setTitle:@"M" forSegmentAtIndex:1];
(2)// 用图片来初始化
// 镂空图:能够把背景的颜色,在轨迹上透出来
// 选中状态下,镂空图能显示不选中状态下的颜色
// 不选中状态下,镂空图能显示选中状态下的颜色
NSArray *imageArray = [NSArray arrayWithObjects:[UIImage imageNamed:@"friend"],[UIImage imageNamed:@"02-redo"],[UIImage imageNamed:@"03-loopback"],nil];
// 其他属性的设置和上面一致
// 添加一个点击时间 (核心方法)
// 分割控件 添加方法 选择 ValueChanged(监测角标,索引高度变化)
[segmentControl setTarget:self action:@selector:(segmentControlAction:) forControlEvents:(UIControlEventValueChanged)];
二.pragma mark —- UISlider 滑块控件
———————————–继承UIControl
// 先设置成属性
@property(retain,retain)UISlider *slider;
// 初始化
self.slider = [[UISlider alloc]initWithFrame:CGRectMake(20,100,300,50)];
// 设置属性
// 设置背景颜色
self.slider.backgroundColor = [UIColor greenColor];
// 设置轨迹颜色
self.slider.minimumTrackTintColor = [UIColor redColor]; // 左侧颜色
self.slider.minimumTrackTintColor = [UIColor greenColor]; // 右侧颜色
// 设置滑块的填充色
self.slider.thumbTintColor = [UIColor orangeColor]
// 设置图片
// 设置滑块在不同状态下的图片
[self.slider setThumbImage:[UIImage imageNamed:@"jinru"] forState:(UIControlStateNormal)];
[self.slider setThumbImage:[UIImage imageNamed:@"friend"]forState:(UIControlStateHighlighted)];
[self.slider setThumbImage:[UIImage imageNamed:@"02-redo"forState:(UIControlStateSelected)];
// 添加最小值最大值两端的图片
self.slider.minimumValueImage = [UIImage imageNamed:@"02-redo"];
self.slider.maximumValueImage = [UIImage imageNamed:@"02-redo"];
// 设置初值,最大值,最小值
self.slider.minimumValue = 0;
self.slider.maximumValue = 10;
self.slider.value = 1;
self.slider.continuous = NO; // 滑动时不连续显示数值,只在显示最后停留位置处的值
// 添加响应事件
[self.slider addTarget:self action:@selector(sliderAction:)forControlEvents:(UIControlEventValueChanged)];
// 添加显示
[self.view addSubView:self.slider];
三.pragma mark ———-UIImageView
// ImageView动画 (跑图)
self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(20, 200, 340, 400)];
self.imageView.backgroundColor = [UIColor redColor];
[self.view addSubview:self.imageView];
// 构建一个图片数组 (找一组图片拉进工程,注意把图片名字改成1 2 3...10)
self.onePunch = [NSMutableArray array];
for (int i = 1; i < 11; i++) {
[self.onePunch addObject:[UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg",i]]];
}
// 设置imageView播放动画的数组
self.imageView.animationImages = self.onePunch;
// 设置重复的次数 (0代表无限次)
self.imageView.animationRepeatCount = 0;
// 设置完整播放一次的时间(秒)(10秒放10张图,所以改变animationDuration的值,可以改变播放的速度);
self.imageView.animationDuration = 10;
// 开始动画
[self.imageView startAnimation];
四.pragma mark —- NSTimer计时器
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
// 创建一个button
self.button = [[UIButton alloc] initWithFrame:CGRectMake(100, 100, 200, 100)];
self.button.backgroundColor = [UIColor blackColor];
[self.button setTitle:@"发送验证码" forState:(UIControlStateNormal)];
[self.button addTarget:self action:@selector(click:) forControlEvents:(UIControlEventTouchUpInside)];
[self.view addSubview:self.button];
// 给一个时间的初值
self.number = 5;
}
- (void)click:(UIButton *)button
{
// 倒计时:核心 每隔一秒 时间递减
// 计时器类(可以实现每隔多少时间 调用一个方法),用类方法来初始化
// (NSTimeInterval) 时间间隔
// 每隔1秒钟调用timer:这个方法
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timer:) userInfo:@"button倒计时" repeats:YES];
// 计时器开始
[timer fire];
// 关闭按钮交互
self.button.userInteractionEnabled = NO;
}
- (void)timer:(NSTimer *)timer
{
// 改button的标题进行倒计时
NSString *Buttontitle = [NSString stringWithFormat:@"%ld秒",self.number--];
[self.button setTitle:Buttontitle forState:(UIControlStateNormal)];
// 判断倒计时 是否结束 标题是否为0
{
if ([[self.button titleForState:(UIControlStateNormal)] isEqualToString:@"0秒"]) {
// 停止计时器
[timer invalidate];
[self.button setTitle:@"重新发送验证码" forState:(UIControlStateNormal)];
// 把交互再打开 可以重新点击
self.button.userInteractionEnabled = YES;
// 重置时间,不然会从继续从-1开始计时
self.number = 5;
}
}
}