更改 UISlider x 和 y 位置
Changing UISlider x and y position
我有 viewController 里面有滑块,我需要以编程方式更改滑块的位置。我正在使用以下代码:
mySliderOutlet.frame = CGRectMake(100, 250, mySliderOutlet.frame.size.width, mySliderOutlet.frame.size.height)
问题是这没有任何作用。插座连接正确,我在代码的其他地方使用它从滑块读取值。我会很高兴提出任何建议。谢谢
请确保在设置滑块上的框架之前完成以下操作
- 故事板中的自动版式已关闭且大小调整 类 已禁用。Here is how to do it
- 关闭故事板 viewcontroller 内视图的 'auto resize subview'。Uncheck the autoresize subview option
- 确保您所做的此帧更新必须在主线程或主队列中完成。
使用 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.
}
}
希望对您有所帮助
我有 viewController 里面有滑块,我需要以编程方式更改滑块的位置。我正在使用以下代码:
mySliderOutlet.frame = CGRectMake(100, 250, mySliderOutlet.frame.size.width, mySliderOutlet.frame.size.height)
问题是这没有任何作用。插座连接正确,我在代码的其他地方使用它从滑块读取值。我会很高兴提出任何建议。谢谢
请确保在设置滑块上的框架之前完成以下操作
- 故事板中的自动版式已关闭且大小调整 类 已禁用。Here is how to do it
- 关闭故事板 viewcontroller 内视图的 'auto resize subview'。Uncheck the autoresize subview option
- 确保您所做的此帧更新必须在主线程或主队列中完成。
使用 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.
}
}
希望对您有所帮助