UISlider 不占用全宽
UISlider not taking up full width
我已经制作了全宽(两侧都限制为边缘 0)但有几个像素未使用,请参见下图:
我听说这是因为将 space 留给了拇指滑块?
有什么方法可以把这个小洞填进去吗?
我考虑过在缝隙处放置一个小视图来堵住它,但这看起来很粗糙而且很老套:(
谢谢!
滑块设置:
class TrackProgressSlider : BiggerThumbTouchUISlider {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.minimumValue = 0
self.maximumValue = 100
self.value = 0
self.backgroundColor = UIColor.clearColor()
self.transform = CGAffineTransformMakeScale(1.0, 2.0)
self.setThumbImage(UIImage(named: "progress-marker-half")!, forState: UIControlState.Normal)
self.minimumTrackTintColor = UIColor(hexString: "#f2f2f2")
self.maximumTrackTintColor = UIColor.clearColor()
}
}
利用trackRectForBounds(_ :)
class CustomSlider: UISlider {
override func trackRectForBounds(bounds: CGRect) -> CGRect {
var trackRect = super.trackRectForBounds(bounds)
trackRect.size.width = bounds.width
trackRect.origin.x = 0
return trackRect
}
}
我已经制作了全宽(两侧都限制为边缘 0)但有几个像素未使用,请参见下图:
我听说这是因为将 space 留给了拇指滑块?
有什么方法可以把这个小洞填进去吗?
我考虑过在缝隙处放置一个小视图来堵住它,但这看起来很粗糙而且很老套:(
谢谢!
滑块设置:
class TrackProgressSlider : BiggerThumbTouchUISlider {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.minimumValue = 0
self.maximumValue = 100
self.value = 0
self.backgroundColor = UIColor.clearColor()
self.transform = CGAffineTransformMakeScale(1.0, 2.0)
self.setThumbImage(UIImage(named: "progress-marker-half")!, forState: UIControlState.Normal)
self.minimumTrackTintColor = UIColor(hexString: "#f2f2f2")
self.maximumTrackTintColor = UIColor.clearColor()
}
}
利用trackRectForBounds(_ :)
class CustomSlider: UISlider {
override func trackRectForBounds(bounds: CGRect) -> CGRect {
var trackRect = super.trackRectForBounds(bounds)
trackRect.size.width = bounds.width
trackRect.origin.x = 0
return trackRect
}
}