【问题标题】:Swift 3 - Slider's pointer widthSwift 3 - 滑块的指针宽度
【发布时间】:2017-08-23 09:40:28
【问题描述】:

我想为一个显示指针位置的滑块制作一个标签,如下所示:

这是我在滑块指针移动时移动此标签的代码:

var sliderPointWidth : CGFloat = 32.0

@IBAction func sliderValueChanged( _ slider : UISlider ){
    sliderLabel.text = "\( Int( roundf( slider.value ) ) )"
    let leftMove = slider.frame.minX
    let allRange = ( slider.frame.width - sliderPointWidth ) * CGFloat( slider.value / slider.maximumValue )
    let middleOfSliferLabel = sliderLabel.frame.width / 2
    let x = leftMove + sliderPointWidth / 2 + allRange - middleOfSliferLabel
    sliderLabel.frame.origin = CGPoint( x: CGFloat(x) , y: sliderLabel.frame.minY )
}

但是要使标签的中间 x 和指针的中间 x 相同,我需要知道这个指针的宽度。流利地看着这个,我明白它大约是32分。但我不知道其他屏幕的这个值。 UISlider有没有方法可以说出这个值?

【问题讨论】:

    标签: ios iphone swift ipad


    【解决方案1】:

    您应该使用thumbRect 检索拇指的大小:

    let thumbSize = slider.thumbRect(forBounds: slider.bounds, trackRect: slider.trackRect(forBounds: slider.bounds), value: 0).size
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-27
      • 2012-07-26
      • 1970-01-01
      • 2013-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多