更改UISlider x和y位置

时间:2016-07-26 18:59:37

标签: ios swift uislider cgrectmake

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

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

问题是这没有做任何事情。出口连接正确,我在代码中的其他地方使用它来从滑块读取值。我会很高兴有任何建议。感谢。

2 个答案:

答案 0 :(得分:2)

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

  1. 关闭Autolayout并在故事板中禁用大小调整类。Here is how to do it
  2. 从storybaord关闭viewcontroller内部视图的“自动调整大小子视图”。Uncheck the autoresize subview option
  3. 确保此框架更新您必须在主线程或主队列中完成。

答案 1 :(得分:0)

使用AffineTransform,您可以轮播UISlider layer尝试使用此代码获取此结果

enter image description here

夫特

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.
    }


}

我希望这有助于你