[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文の中を変更すれば、ビューを閉じる以外の別の動作を実行することもできます。

東京造形大学卒業後、マクロメディア(現アドビ システムズ)に入社。Quality AssuranceやテクニカルサポートマネージャーとしてFlash、DreamweaverなどのWeb製品を担当。独立後、虫カゴデザインスタジオ株式会社を設立。最近は、ZBrush、Xcode(Swift)、Firebase、Unity、Adobe Creative Cloud関連にフォーカスしています。モバイルアプリ開発情報を主としたブログ「MUSHIKAGO APPS MEMO」の中の人。