Как получить текущий угол/поворот/радиан UIview?
Получить текущий угол/поворот/радиан для UIview?
Ответ 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