[Swift] シェイクジェスチャーでビューを閉じる

スポンサーリンク

[Swift] シェイクジェスチャーでビューを閉じる from mushikago on Vimeo.

このサンプルはボタンを押すと

self.presentViewController(_brow, animated: true, completion: nil)

が実行されて、フルスクリーンでブラウザ(「_brow」というビュー)が開くようになっています。このフルスクリーン状態のビューをシェイクジェスチャーで閉じるようにしてみました。

01

開かれたビューにアサインしたクラスに

 

と書いておくと、デバイスをシャカシャカっと振ることでそのビューを閉じることができます。iOSシミュレータでは、「Hardware>Shake Gesture」でテストすることができます。

当然ながら

if (motion == UIEventSubtype.MotionShake){

    self.dismissViewControllerAnimated(true, completion: nil)

}

のif文の中を変更すれば、ビューを閉じる以外の別の動作を実行することもできます。