[Swift] View をタップすると90度逆回転(反時計回り)させて、もう一度タップすると元の位置に戻す

ITSwift

iOSアプリの開発で View をタップすると90度逆回転させて、もう一度タップすると元の位置に戻す方法です。

例ではボタンを使っていて、回転のアニメーションも入っています。

class ViewController: UIViewController {
    
    @IBOutlet weak var drawerBtn: UIButton!
    var isOpenDrawer = false

    @IBAction func drawerBtn_tapped(_ sender: UIButton) {
        if isOpenDrawer {
            UIView.animate(withDuration: 0.3, animations: {
                // 元の位置に戻す
                self.drawerBtn.transform = CGAffineTransform(rotationAngle: 0 * CGFloat.pi / 180)
            })
            isOpenDrawer = false
        } else {
            UIView.animate(withDuration: 0.3, animations: {
                // 90度逆回転反時計回り
                self.drawerBtn.transform = CGAffineTransform(rotationAngle: -90 * CGFloat.pi / 180)
            })
            isOpenDrawer = true
        }
    }
}

-90度回転させるには、Angleを、、、

-90 * CGFloat.pi / 180

元の位置に戻すには、、、

0 * CGFloat.pi / 180

と、記述しています。

これでボタンをタップすると、90度逆回転(反時計周り)し、もう一度タップすると元の位置に戻りました。

以上になります。

スポンサーリンク

Posted by nobuhiro harada