[XCODE]スワイプしたら、前画面に戻るiPhoneアプリの実装方法
こんにちは、@yoheiMuneです。
最近アプリを使っていて、「スワイプ動作で前の画面に戻る」というUIに遭遇して便利だなぁと感じました。
今日は、その動作を実装する方法を書きたいと思います(*´∇`*)
実装方法は簡単で、現在表示しているViewにUISwipeGestureRecognizerを設定して、スワイプを検知したら戻る処理を実行します。
便利なUIがあれば、積極的に取り入れていきたい今日この頃です。
それらの使い方に関する記事も書いておりますので、もし良ければご覧頂けると幸いです☆
- UIViewにタップした際のイベントを登録する
- iPhone上の画像を簡単にドラッグするUIPanGestureRecognizer
- Viewのサイズをピンチジェスチャーで変更する
- ローテーションジェスチャーを簡単に実現する
そのために沢山のアプリやゲームを行うようになりました。そこからたくさんの便利なUIや機能性を学んでいます。
また便利な機能やUIがあれば、その紹介や実装方法を紹介したいと思います。
最後までご覧頂きましてありがとうございました。
最近アプリを使っていて、「スワイプ動作で前の画面に戻る」という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があれば、その紹介や実装方法を紹介したいと思います。
最後までご覧頂きましてありがとうございました。