更改 UISlider x 和 y 位置

Changing UISlider x and y position

我有 viewController 里面有滑块,我需要以编程方式更改滑块的位置。我正在使用以下代码:

mySliderOutlet.frame = CGRectMake(100, 250, mySliderOutlet.frame.size.width, mySliderOutlet.frame.size.height)

问题是这没有任何作用。插座连接正确,我在代码的其他地方使用它从滑块读取值。我会很高兴提出任何建议。谢谢

请确保在设置滑块上的框架之前完成以下操作

  1. 故事板中的自动版式已关闭且大小调整 类 已禁用。Here is how to do it
  2. 关闭故事板 viewcontroller 内视图的 'auto resize subview'。Uncheck the autoresize subview option
  3. 确保您所做的此帧更新必须在主线程或主队列中完成。

使用 AffineTransform 您可以旋转 UISlider layer 尝试使用此代码获得此结果

Swift

class ViewController: UIViewController {

    @IBOutlet weak var verticalSlider: UISlider!
    func DEGTORAD(deg:Double) -> CGFloat
    {
      return CGFloat(deg * M_PI / 180.0)
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        verticalSlider.layer.setAffineTransform(CGAffineTransformMakeRotation(DEGTORAD(90)))
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

希望对您有所帮助