HamzaGhazouani / HGCircularSlider

A custom reusable circular / progress slider control for iOS application.
MIT License
2.6k stars 278 forks source link

Remove padding #25

Closed Natelegreat1 closed 7 years ago

Natelegreat1 commented 7 years ago

Hello!

Is there a way to remove excess padding from the HGCircularSlider view?

screen shot 2017-10-03 at 2 14 51 am
HamzaGhazouani commented 7 years ago

Hi @Natelegreat1, you can fix that by setting backtrackLineWidthequal to lineWidth

Natelegreat1 commented 7 years ago

@HamzaGhazouani Good thinking but alas I do not mean the fact that the dark blue is thicker than the white part -- that, I want! :) What I would like to get rid of is where I've drawn red lines. I want the HGCircularSlider UIView to siteToFit() to its containing view. Does that make more sense?

HamzaGhazouani commented 7 years ago

Hi @Natelegreat1, we have this padding because the thumbs (in the circular slider) should be inside the frame. Below, how we calculate the radius of the circular slider

/**
* The radius of circle
*/
    internal var radius: CGFloat {
        get {
            // the minimum between the height/2 and the width/2
            var radius =  min(bounds.center.x, bounds.center.y)
            // all elements should be inside the view rect, for that we should subtract the highest value between the radius of thumb and the line width
            radius -= max(lineWidth, (thumbRadius + thumbLineWidth))
            return radius
        }
    }

in your case, we use it like a progress view, so we don't need the thumbs If you put thumbRadius = 0 & thumbLineWidth = 0 the padding will be removed.

Thanks

Natelegreat1 commented 7 years ago

Amazing. That's exactly what I was looking for!