• 自定义UISlider的样式和滑块


    又做完一个项目,遂到了写帖时间了,要跟大家分享的是:自定义UISlider的图片和滑块,先看一下效果:


    然后是实现了,我们使用的是UISlider的setMinimumTrackImage,和setMaximumTrackImage方法来定义图片 的,这两个方法可以设置滑块左边和右边的图片的,不过如果用的是同一张图片且宽度和控件宽度基本一致,就不会有变形拉伸的后果,先看代码,写在 viewDidLoad中:

     //左右轨的图片
        UIImage *stetchLeftTrack= [UIImage imageNamed:@"brightness_bar.png"];
        UIImage *stetchRightTrack = [UIImage imageNamed:@"brightness_bar.png"];
        //滑块图片
        UIImage *thumbImage = [UIImage imageNamed:@"mark.png"];
        
        UISlider *sliderA=[[UISlider alloc]initWithFrame:CGRectMake(30, 320, 257, 7)];
        sliderA.backgroundColor = [UIColor clearColor];
        sliderA.value=1.0;
        sliderA.minimumValue=0.7;
        sliderA.maximumValue=1.0;
        
        [sliderA setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal];
        [sliderA setMaximumTrackImage:stetchRightTrack forState:UIControlStateNormal];
        //注意这里要加UIControlStateHightlighted的状态,否则当拖动滑块时滑块将变成原生的控件
        [sliderA setThumbImage:thumbImage forState:UIControlStateHighlighted];
        [sliderA setThumbImage:thumbImage forState:UIControlStateNormal];
        //滑块拖动时的事件
        [sliderA addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];
        //滑动拖动后的事件
        [sliderA addTarget:self action:@selector(sliderDragUp:) forControlEvents:UIControlEventTouchUpInside];
        
        [self.view addSubview:sliderA];

     
  • 相关阅读:
    mescroll vue tab页实现切换刷新列表
    路由权限配置
    js实现拖拽
    .eslintrc.js
    vue-cli项目中使用mock结合axios-mock-adapter生成模拟数据【转】
    原型模式
    设计模式简介
    @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
    spring定时任务执行两次
    java反射--注解的定义与运用以及权限拦截
  • 原文地址:https://www.cnblogs.com/xiaoxiaoyublogs/p/4825585.html
Copyright © 2020-2023  润新知