iPhoneアプリ開発 −2本指で画像を移動させる−
やりたいこと
表示させている画像(UIImageView)を2本指で移動させたい。
※1本指は別の操作に使うので、2本指の時のみ移動させたい。
やったこと
UIPanGestureRecognizerを使えば、画像をパン(ドラッグ)で移動させることができます。
その際に、最小と最大の指の数を2とします。
以下のように書くと、imageViewに対して2本指でタッチしているときのみパンが有効になります。
※self.imageViewが画像を表示させているUIImageViewになります。
UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(moveImageView:)]; panGesture.maximumNumberOfTouches = 2; panGesture.minimumNumberOfTouches = 2; [self.imageView addGestureRecognizer:panGesture];
あとは以下のように書けば、self.imageViewは2本指でのパンの時に移動します。
- (void)moveImageView:(UIPanGestureRecognizer *)recognizer { CGPoint point = [recognizer translationInView:self.imageView]; CGPoint movedPoint = CGPointMake(self.imageView.center.x + point.x, self.imageView.center.y + point.y); self.imageView.center = movedPoint; [recognizer setTranslation:CGPointZero inView:self.imageView]; }
ただし、「touchesBeganメソッド」を実装している場合、最初にtouchesBeganメソッドが呼び出されるので注意が必要です。
広告
関連記事
-
order byでハマったこと -order by、group byの処理順序-
CakePHPでorder byとgroup byを使っていてはまったことについてのメモ。 *
-
CakePHP1.3にSmartyを導入
いい加減、CakePHP(1.3)にもSmartyを導入することにしました。 * ダウンロード
-
「Google Apps」無償版の新規登録が終了
以前、「Google Apps」を利用した以下の記事を書きましたが、とうとう無償版の新規登録が終了
-
iPhoneアプリ開発 芳名帳アプリ作成(3) -名前を書けるようにする-
* 今までの流れ - -[http://pplace.jp/2013/06/1531/:title=
-
jQuery Mobileの初期設定 -jQuery Mobieを利用時にページ内リンクさせたい-
* 前提 jQuery Mobileを利用していて、以下のタグを使ってページ内遷移したいことがありま
-
MySQLのバックアップ手順 -消えたら困るものはバックアップ-
そろそろデータが消えてもらったら困るぐらいになっていたのでバックアップをとることにしました。 とい
-
Google Appsで独自ドメインメールの利用
独自ドメインでメアドを持ちたかったのでGoogle Appsを利用してみました。 その各種設定の覚
-
iPhoneアプリ開発 芳名帳アプリ作成(5) -ペンサイズと入力エリア数の設定-
* 今までの流れ - -[http://pplace.jp/2013/06/1531/:titl
-
iPhoneアプリ開発 -UIScrollViewでタッチを取得-
* やりたいこと UIScrollViewでタッチを取得する。 * 方法 通常のUIScrollV
-
第二回Androidテスト祭り参加記録 -祭りに参加してきたよ-
久しぶりに勉強会に参加してきました。 参加してきたのは「第二回Androidテスト祭り(4/28)