美文网首页
UISlider的一些用法

UISlider的一些用法

作者: Flandreko | 来源:发表于2018-05-31 19:15 被阅读0次

    UISlider属性

    slider.minimumValue = 9;// 设置最小值 
    slider.maximumValue = 11;// 设置最大值  
    slider.continuous = YES;// 设置可连续变化  
    slider.minimumTrackTintColor = RGBA(45, 215, 135, 1);//滑块左边颜色
    slider.maximumTrackTintColor = RGBA(222, 222, 222, 1);//滑块右边颜色
    slider.thumbTintColor = [UIColor clearColor];//滑块颜色
    [slider setValue:10 animated:YES];//滑块位置
    [slider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];//响应方法
    //滑块图案
    -(void)setThumbImage:(UIImage *)image forState:(UIControlState)state;
    //设置滑块划过部分的线条图案
    -(void)setMinimumTrackImage:(UIImage *)image forState:(UIControlState)state;
    //设置滑块未划过部分的线条图案
    -(void)setMaximumTrackImage:(UIImage *)image forState:(UIControlState)state;
    

    Slider的滑块大小、自身高度、左右图片大小是可以改变的。我们需要在自定义Slider类中重写以下方法:

    - (CGRect)minimumValueImageRectForBounds:(CGRect)bounds;  //返回左边图片大小  
    - (CGRect)maximumValueImageRectForBounds:(CGRect)bounds;  //返回右边图片大小  
    - (CGRect)trackRectForBounds:(CGRect)bounds;              //返回滑道大小  
    - (CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value;  //返回滑块响应范围大小 
    

    例子:设置滑道大小,与滑块响应范围

    #import "newSlider.h"  
    @implementation newSlider  
    - (CGRect)trackRectForBounds:(CGRect)bounds {  
        return CGRectMake(0, 0, ScreenWidth, 8);  
    }  
    
    - (CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value{
        bounds = [super thumbRectForBounds:bounds trackRect:rect value:value];
        return CGRectMake(bounds.origin.x, bounds.origin.y, 20, 20);
    }
    @end  
    

    相关文章

      网友评论

          本文标题:UISlider的一些用法

          本文链接:https://www.haomeiwen.com/subject/nukcsftx.html