Swift 4 - CGAffineTransform вращение по часовой стрелке - PullRequest
0 голосов
/ 13 мая 2018

Мне нужно, чтобы стрелки часов вращались по часовой стрелке от -180 до 180, но, похоже, функция CGAffineTransform делает кратчайший путь в другом направлении. Я пробовал разные способы, но не нашел решения:

img_clock.transform = CGAffineTransform(rotationAngle: CGFloat(-118 * Float.pi / 180))

UIView.animate(withDuration: 15.0, delay : 0, options: .curveLinear , animations: {
        self.img_clock.transform = CGAffineTransform(rotationAngle: CGFloat(118 * Float.pi / 180))
}, completion : nil)

1 Ответ

0 голосов
/ 14 мая 2018

В iOS положительное значение указывает против часовой стрелки вращение, а отрицательное значение указывает по часовой стрелке вращение.

Это правда, что оно будет вращаться в кратчайшем направлении.Вам нужны повороты более чем на 360 градусов.В этом случае вам нужно умножить PI на 3.

Проверьте код ниже:

img_clock.transform = CGAffineTransform(rotationAngle: CGFloat(-118 * Float.pi / 180))

    UIView.animate(withDuration: 15.0, delay : 0, options: .curveLinear , animations: {
            self.img_clock.transform = CGAffineTransform(rotationAngle: CGFloat(118 * Float.pi * 3 / 180))
    }, completion : nil)
...