Получить правильный угол поворота UIView в Swift - PullRequest
0 голосов
/ 11 марта 2019

Я могу вращаться и поворачивать угол, но это не удовлетворяет мою потребность. Я создал вид и кнопку поворота, как показано ниже. enter image description here

Я могу поворачивать на 90 градусов при каждом нажатии кнопки поворота, как показано ниже. enter image description here

Теперь я хочу напечатать угол поворота интервала просмотра градусов 0, 90, 180, 270, 360, должен печататься как 0, а затем так же, как 90, 180, 270, 0 должен печатать вместо 360 .. повторить в зависимости от направления.

Вот код, который я использовал для создания ниже.

    @IBOutlet weak var myView: UIView!
@IBAction func rotateBtn(_ sender: Any) {
    myView.transform = myView.transform.rotated(by: .pi/2)
     getRotateAngle()
}
func getRotateAngle(){
    //This is just to print rotation angle of a view
    let radians = atan2(myView.transform.b, myView.transform.a)
    let degrees = radians * 180 / .pi
    print("Degrees:: \(degrees)")
}

И он печатает в консоли, как показано ниже. enter image description here

Как я могу получить 0, 90, 180, 270, 0, 90, 180, 270, 0 градусов, может кто-нибудь, пожалуйста, предложить. Заранее спасибо.

1 Ответ

1 голос
/ 11 марта 2019

Сначала round ваш degrees, а затем вычислите реальные градусы

func getRotateAngle() {
    let radians = atan2(myView.transform.b, myView.transform.a)
    var degrees = radians * 180 / .pi
    degrees.round()
    let realDegrees = degrees >= 0 ? abs(degrees) : 360 + degrees
    print("Degrees:: \(realDegrees)")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...