Подтвердить что ты не робот

Получить текущий угол/поворот/радиан для UIview?

Как получить текущий угол/поворот/радиан UIview?

4b9b3361

Ответ 1

Вы можете сделать это таким образом...

CGFloat radians = atan2f(yourView.transform.b, yourView.transform.a); 
CGFloat degrees = radians * (180 / M_PI);

Ответ 2

Swift:

// Note the type reference as Swift is now string Strict

let radians:Double = atan2( Double(yourView.transform.b), Double(yourView.transform.a))
let degrees:CGFloat = radians * (CGFloat(180) / CGFloat(M_PI) )

Ответ 3

Для Swift 3 вы можете использовать следующий код:

let radians:Float = atan2f(Float(view.transform.b), Float(view.transform.a))
let degrees:Float = radians * Float(180 / M_PI)

Ответ 4

В быстрых 2 и Xcode 7:

let RdnVal = CGFloat(atan2f(Float(NamVyu.transform.b), Float(NamVyu.transform.a)))
let DgrVal = RdnVal * CGFloat(180 / M_PI)

Ответ 5

//Для Swift 3: теперь M_PI обесценивается. Используйте Double.pi

    let radians = atan2f(Float(yourView.transform.b), Float(yourView.transform.a));
    let degrees = radians * Float(180 / Double.pi)

Ответ 6

Многие другие ответы ссылаются на atan2f, но учитывая, что мы работаем с CGFloat s, мы можем просто использовать atan2 и пропустить ненужный шаг промежуточного каста:

Swift 4:

let radians = atan2(yourView.transform.b, yourView.transform.a)
let degrees = radians * 180 / .pi