2013/01/15更新

[XCODE]スワイプしたら、前画面に戻るiPhoneアプリの実装方法

このエントリーをはてなブックマークに追加            

こんにちは、@yoheiMuneです。
最近アプリを使っていて、「スワイプ動作で前の画面に戻る」というUIに遭遇して便利だなぁと感じました。
今日は、その動作を実装する方法を書きたいと思います(*´∇`*)

画像



スワイプしたら前画面に戻る振る舞いを実装する

UIWebViewで左スワイプすることで前の画面に戻ったり、NavigatonViewベースのアプリで左スワイプすることでRootViewなどに戻ったりと、 スワイプ動作で前の画面に戻る実装を紹介します。

実装方法は簡単で、現在表示しているViewにUISwipeGestureRecognizerを設定して、スワイプを検知したら戻る処理を実行します。
- (void)viewDidLoad {
    [superviewDidLoad];

    // スワイプジェスチャーを作成して、登録する。
    UISwipeGestureRecognizer *swipe
         = [[UISwipeGestureRecognizer alloc] 
                initWithTarget:self action:@selector(swipe:)];
    // スワイプの方向は右方向を指定する。
    swipe.direction = UISwipeGestureRecognizerDirectionRight;
    // スワイプ動作に必要な指は1本と指定する。
    swipe.numberOfTouchesRequired = 1;
    [self.tableView addGestureRecognizer:swipe];    
}

// スワイプされた際に呼び出される処理。
// NavigationViewで、現在の画面から一つ前の画面に戻る。
-(void)swipe:(UISwipeGestureRecognizer *)gesture {
    [self.navigationController popViewControllerAnimated:YES];
}

2013/01/15 追伸
ソースコードにコンパイルエラーとなる箇所があったため、修正しました。
ご指摘いただきました@hi_tom1さんありがとうございます。

色々と調べてみて、こんなに簡単に実装できるんだぁと驚きました。
便利なUIがあれば、積極的に取り入れていきたい今日この頃です。



関連記事

UIGestureRecognizerは、タップ、ドラッグ、ピンチなどいくつかのジェスチャーに対応することが可能です。
それらの使い方に関する記事も書いておりますので、もし良ければご覧頂けると幸いです☆

- UIViewにタップした際のイベントを登録する

- iPhone上の画像を簡単にドラッグするUIPanGestureRecognizer

- Viewのサイズをピンチジェスチャーで変更する

- ローテーションジェスチャーを簡単に実現する



最後に

iPhoneアプリやスマホアプリを仕事でもプライベートでも作成する毎日。
そのために沢山のアプリやゲームを行うようになりました。そこからたくさんの便利なUIや機能性を学んでいます。

また便利な機能やUIがあれば、その紹介や実装方法を紹介したいと思います。

最後までご覧頂きましてありがとうございました。





こんな記事もいかがですか?

RSS画像

もしご興味をお持ち頂けましたら、ぜひRSSへの登録をお願い致します。