[Swift] シェイクジェスチャーでビューを閉じる from mushikago on Vimeo.
このサンプルはボタンを押すと
self.presentViewController(_brow, animated: true, completion: nil)
が実行されて、フルスクリーンでブラウザ(「_brow」というビュー)が開くようになっています。このフルスクリーン状態のビューをシェイクジェスチャーで閉じるようにしてみました。
開かれたビューにアサインしたクラスに
と書いておくと、デバイスをシャカシャカっと振ることでそのビューを閉じることができます。iOSシミュレータでは、「Hardware>Shake Gesture」でテストすることができます。
当然ながら
if (motion == UIEventSubtype.MotionShake){
self.dismissViewControllerAnimated(true, completion: nil)
}
のif文の中を変更すれば、ビューを閉じる以外の別の動作を実行することもできます。
東京造形大学卒業後、マクロメディア(現アドビ)に入社。QAやテクニカルサポートマネージャーとしてFlash、DreamweaverなどのWeb製品を担当。独立後、2007年に虫カゴデザインスタジオ株式会社を設立。2021年東京三鷹を拠点に。最近は、Unity, Unity Netcode for GameObjects, CakePHP, Laravel, ZBrush, Modo, Adobe Substance 3D, Adobe Firefly, Xcode, Apple Vision Pro, Firebaseにフォーカスしています。モバイルアプリ開発情報を主としたブログ「MUSHIKAGO APPS MEMO」の中の人。