美文网首页iOS Dev
UISlider, 解决两边空隙, 交互区域不足问题

UISlider, 解决两边空隙, 交互区域不足问题

作者: 再好一点点 | 来源:发表于2018-02-26 21:49 被阅读38次

    由于需要在播放器的设置里边创建一个slider 用来修改画面缩放比例, 发现当滑块滑动到两边的时候仍然存在一定的距离无法滑动到, 还有就是交互区域有点小, 滑块有时候会点击不到. 以下为解决方法

      -(CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value

        { 

        //修改滑块位置

        rect.origin.x = rect.origin.x - 10 ;

        rect.size.width = rect.size.width +20;

        //修改交互区域

        rect.origin.y = rect.origin.y - 10;

        rect.size.height = rect.size.height + 20;

        return CGRectInset ([super thumbRectForBounds:bounds trackRect:rect value:value], 10 , 10);

    }

    CGRect CGRectInset (

    CGRect rect,

    CGFloat dx,

    CGFloat dy

    );

    该结构体的应用是以原rect为中心,再参考dx,dy,进行缩小或者放大.

    UISlider还有这么几个方法可以重写

    -(CGRect)trackRectForBounds:(CGRect)bounds

    {

        bounds.origin.x=15;

        bounds.origin.y=bounds.size.height/3;

        bounds.size.height=bounds.size.height/5;

        bounds.size.width=bounds.size.width-30;

        return bounds;

    }

    -(CGRect)minimumValueImageRectForBounds:(CGRect)bounds;

    -(CGRect)maximumValueImageRectForBounds:(CGRect)bounds;

    相关文章

      网友评论

        本文标题:UISlider, 解决两边空隙, 交互区域不足问题

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