// UIControl的子类(8个):
// UITextField
// UIPageControl
// UISlider
// UIButton
// UISegmentedControl
// UISwitch
// UIDatePicker
// UIStepper
// UISegmentedControl 分段控件 一般用来切换视图
NSArray *arr = @[@"首页", @"分类", @"用户"];
UISegmentedControl *seg = [[UISegmentedControl alloc]initWithItems:arr];
seg.frame = CGRectMake(75, 100, 250, 40);
[self.view addSubview:seg];
//1.渲染颜色
[seg setTintColor:[UIColor blueColor]];
//2.让图片保持原样不被渲染
UIImage *image = [[UIImage imageNamed:@"2.png"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
[seg insertSegmentWithImage:image atIndex:2 animated:YES];
[seg addTarget:self action:@selector(segAction:) forControlEvents:UIControlEventValueChanged];//值改变
//控件上元素以及选中状态的颜色, button也可以用tintColor
seg.tintColor = [UIColor blackColor];
[seg setTitle:@"A" forSegmentAtIndex:2];
//3.默认选中分段(当前选中的seg)
seg.selectedSegmentIndex = 0;
// UIImageView 动画
NSMutableArray *arr = [NSMutableArray arrayWithCapacity:104];
for (int i = 1; i <= 104; i++) {
UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"a-%d.tiff",i]];
[arr addObject:image];
}
self.imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 100, self.view.frame.size.width, 200)];
[self.view addSubview:self.imageView];
//1.动画需要的所有图片
self.imageView.animationImages = arr;
//2.播放一组图片所需要的是件, 默认一秒30帧
self.imageView.animationDuration = 30;
//3.重复次数, 0无限播放
self.imageView.animationRepeatCount = 0;
//4.开启动画
[self.imageView startAnimating];
//5.结束动画
// [self.imageView stopAnimating];
// UISlider 滑块控件
self.slider = [[UISlider alloc]initWithFrame:CGRectMake(0, 400, self.view.frame.size.width, 40)];
//滑块的最大、小值
self.slider.maximumValue = 50;
self.slider.minimumValue = 0;
//滑块的初始值
self.slider.value = 5;
[self.view addSubview:self.slider];
//1.滑块划过区域的颜色
self.slider.minimumTrackTintColor = [UIColor redColor];
//2.滑块未划过区域的颜色
self.slider.maximumTrackTintColor = [UIColor grayColor];
//3.滑块的颜色
self.slider.thumbTintColor = [UIColor blackColor];
//设置不同状态下的背景图片
// UIImage *image1 = [UIImage imageNamed:@"a-1.tiff"];
// UIImage *image2 = [UIImage imageNamed:@"a-2.tiff"];
// [slider setMaximumTrackImage:image1 forState:UIControlStateNormal];
// [slider setMinimumTrackImage:image2 forState:UIControlStateNormal];
// slider.clipsToBounds = YES;
//给slider设置播放速度
//1.注意当self.imageView.animationDuration = 0;会回到初始播放速度
//2.重新设置播放速度, [self.imageView starAnimating] 应该重新开
[self.slider addTarget:self action:@selector(drag:) forControlEvents:UIControlEventValueChanged];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(location:)];
[self.slider addGestureRecognizer:tap];
// UISwitch
UISwitch *switch1 = [[UISwitch alloc]initWithFrame:CGRectMake(180, 300, 40, 40)];
//大小51 * 31, 初始化中无法更改大小
//开关的状态 getter方法是isOn
switch1.on = YES;
//开关状态的颜色
switch1.onTintColor = [UIColor blackColor];
switch1.tintColor = [UIColor grayColor];
[self.view addSubview:switch1];
//练习:创建3个UISlider对象, 用这3个UISlider对象控制self.view.backgroundColor的变化. 3个UISlider对象分别控制UIColor的red, green, blue. 滑动任何一个UISlider都会引起背景颜色变化
}
-(void)location:(UITapGestureRecognizer *)tap{
CGPoint point = [tap locationInView:self.view];
self.slider.value = point.x / self.view.frame.size.width * self.slider.maximumValue;
self.imageView.animationDuration = 50.1 - self.slider.value;
[self.imageView startAnimating];
}
-(void)drag:(UISlider *)slider{
self.imageView.animationDuration = 50.1 - slider.value;
[self.imageView startAnimating];
}
UI - UISegmentedControl、UISlider、UIImageView、UISwitch
最新推荐文章于 2016-02-23 16:32:16 发布