iOS开发-UISlider改变图片透明度

拖动条是通过滑块的位置来标识数值,而且拖动条允许用户拖动滑块来改变值。因此,拖动条通常用于对系统的某种数值进行调节,如调节亮度,透明度,音量等。

一、属性介绍

  1. @property(nonatomic) float value; //设置当前slider的值,默认是0.
  2. @property(nonatomic,getter=isContinuous) BOOL continuous; //滑动时是否连续触发事件,默认为YES;
  3. @property(nullable, nonatomic,strong) UIColor *minimumTrackTintColor//滑动条完成部分的轨道颜色
  4. @property(nullable, nonatomic,strong) UIColor *maximumTrackTintColor //滑动条未完成部分的轨道颜色
  5. @property(nullable, nonatomic,strong) UIColor *thumbTintColor//滑块的颜色

由于UISlider继承于UIControl,所以我们可以为它的Value Changed事件绑定 UIControlEventValueChanged事件处理方法。

  1. [self.mySlider addTarget:self action:@selector(change) forControlEvents:UIControlEventValueChanged];

二、示例代码

  • 创建所需的控件属性
  1. @property (strong, nonatomic) UISlider *mySlider;
  2. @property (strong, nonatomic) UIImageView *myImageView;
  • 使用懒加载方式初始化所需控件
  1. - (UISlider *)mySlider{
  2. if (!_mySlider) {
  3. _mySlider = [[UISlider alloc] initWithFrame:CGRectMake(0, 300, 375, 10)];
  4. _mySlider.value = 0.5;//设置当前滑块处于滑动条中间
  5. _mySlider.continuous = NO;//不连续触发事件
  6. _mySlider.minimumTrackTintColor = [UIColor redColor];//设置完成部分的轨道颜色为红色
  7. _mySlider.maximumTrackTintColor = [UIColor blueColor];//设置未完成部分的轨道颜色为蓝色
  8. _mySlider.thumbTintColor = [UIColor grayColor];//设置滑块颜色为灰色
  9. [_mySlider addTarget:self action:@selector(change) forControlEvents:UIControlEventValueChanged];//绑定ValueChange方法
  10. [self.view addSubview:_mySlider];
  11. }
  12. return _mySlider;
  13. }
  14. - (UIImageView *)myImageView{
  15. if (!_myImageView) {
  16. _myImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 375, 300)];
  17. _myImageView.image = [UIImage imageNamed:@"1"];
  18. _myImageView.alpha = .5;//设置图片刚开始透明度为0.5与滑块对应的value保持一致
  19. [self.view addSubview:_myImageView];
  20. }
  21. return _myImageView;
  22. }
  23. - (void)viewDidLoad {
  24. [super viewDidLoad];
  25. // Do any additional setup after loading the view, typically from a nib.
  26. [self myImageView];
  27. [self mySlider];
  28. }
  • 在UISlider的Value Changed事件绑定的方法中修改图片的透明度
  1. - (void)change{
  2. [self.myImageView setAlpha:self.mySlider.value];
  3. }

源码下载

HCUISlider

 

posted @ 2016-03-27 16:57  专注it  阅读(527)  评论(0编辑  收藏  举报