UISlider will not move if two transform are made

Viewed 18

I have a UISlider that was implemented through Storyboard. I added a Keypath layer.transform.rotation.z with a value of 1.57 in order to make the UISlider vertical.

I also have a MoveRight UIButton that controls 3 elements (Two UIImageViews and One UISlider) to move in unison. The code for the transform is shown below

      @IBAction func MoveRight(_ sender: Any) {
    // Used to Show Reset Button for Right
    ResetOrigin.isHidden = false
    let yPosition1 = myslider.frame.origin.y
    let yPosition2 = ImageView.frame.origin.y
    let yPosition3 = ImageView2.frame.origin.y
    
    UIView.animate(withDuration: 0.0, delay: 0.0, options: [], animations: {
        self.myslider.transform = CGAffineTransform(translationX: 0.001, y: yPosition1)
        self.ImageView.transform = CGAffineTransform(translationX: 0.001, y: yPosition2)
        self.ImageView2.transform = CGAffineTransform(translationX: 0.001, y: yPosition3)
    }, completion: nil)
    
}

When the code is like this the movement works great although the UISlider is no longer Vertical after the transform. And when I try to add this line of code to the animation

                self.myslider.transform = CGAffineTransform(rotationAngle: (CGFloat.pi / 2))

The slider will no longer move while the other 2 Elements are affected by the transform. I tried doing a separate .animate to see if that would resolve the problem but the same result is given. Any ideas on how to solve this issue would be greatly appreciated

0 Answers
Related