• ベストアンサー

iPhone アプリ ドラッグ

iPhoneアプリ作成で iPhoneのロック画面解除で画像を右へスライドさせてロックを解除する このようなアクションを作成したいのですがどうすればよいのでしょうか? 画像のドラッグだとA点(初期)からB点(目的地)までいろんな経路で行くことができますが そうではなく、A点からB点までを一直線で結んで その線の上しか移動することができないようにしたいです (画像を放した際、初期の場所に戻らなくていいです) どうすればよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.1

UITouchイベントから、X座標か、Y座標のみ取得する。 X座標を取得したなら、Y座標のほうは計算で導き出す。 それを移動後の座標(CGPoint)とする。 こんな道筋でしょうか。 サンプルはこんな感じです。45度の角度で、UIViewインスタンスが、直線上を動くようにします。 float distanceX,distanceY; - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [touches anyObject]; CGPoint point = [touch locationInView: self.superView]; distanceX = self.center.x - point.x; distanceY = self.center.y - point.y; } - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { ITouch *touch = [touches anyObject]; CGPoint point = [touch locationInView: self.superView]; float x = point.x + distanceX; float y = x + distanceY; self.center = CGPointMake(x, y); } じっさいには、もっとViewの位置関係を考えた計算をしなければなりませんが、ざっとはこういうことです。 あと、UITouchではなく、UIGestureRecognizerを使ったほうが、簡潔なコードにすることができます。

nosuke5614
質問者

補足

返信が大変遅くなってしまい申し訳ございません 合間をとって挑戦しているのですがなかなかうまくいきません 一つお聞きしたいのですがこのイベント処理は画像という前提で書いていただきましたがボタンにした場合(Interface Builderで他のアクションをコネクトさせているので)やはり面倒でしょうか?

関連するQ&A

  • iPhone Objective-C ドラッグ

    iPhoneアプリで画像のドラッグはYouTube等の動画サイトで 説明付きのものもあり 作成することはできたのですが 画像ではなく ボタンの場合だとどうすればよいのでしょうか? Interface Builderですでに他のアクションとコネクト済みのボタンをドラッグさせることは可能でしょうか?

  • iPhone アプリ 通過後処理

    iPhone アプリ作成に関してですが UIButtonの画像付きボタンをドラッグさせた際 指定した座標を通過もしくはその座標の点の上にボタンが来たらアクションを実行 ということは可能でしょうか? また、座標ではなく、表示されているUIImageもしくはUIButtonの上を通過したら実行 という処理も可能でしょうか? 作成しているアプリでは、通過する座標は同じなのですが表示されているUIButtonがその前の処理で異なるので 個人的には後者の処理を行いたいです

  • iphoneアプリ作成言語について

    初めてiphoneアプリの作成を考えていますが、アプリ作成の言語で迷っております。 Objective-Cとjavascriptどちらで作成したらよいか助言をいただけますでしょうか。 アプリの内容は 1.ユーザー(A)がアクションをおこす 2.他のアプリユーザー(B)へ通知をする 3.ユーザー(B)がアクションを起こす 4,ユーザー(A)へユーザー(B)の結果を返す といった流れです。 私のスキルとしてはHTMLとCSSは仕事で使ってますので、問題はありません。 あとフラッシュのアクションスクリプトを勉強中です。 作業環境としてはmacで作成しようと考えています。 以上宜しくお願いします。

  • iPhone初期メッセージをもっと長く表示させたい

    iPhoneがスリープ?の状態で、「いざ、これから使おう」とする時、iPhoneの下の方にある丸いボタンを押すと表れる画面、つまり「スライドでロック解除」をスライドする前の画面に、黒地に興味深い話題が到着しており、それを読んでいるとすぐに消灯して、まだ途中なのにまた元のスリープ状態(真っ暗)に戻ってしまうのですが、黒地に出る初期メッセージをもっと長く表示させる方法がありましたら、教えて下さい。よろしくお願い致します。因みに、[設定]⇒[一般]⇒[自動ロック]の設定を変えてみたのですが、うまく行きませんでした。また、私が使っているのはiPhone5です。

  • iphone4 ロック解除について

    お世話になります。 iphone4をスリープからオンにするときに「ロック解除」と書かれたスライダーをスライドさせますよね。 最近、特に頻繁にオンオフを繰り返す時などにこの作業を面倒に感じています。 理想としてはタップするだけでロック解除されたり、スライドする必要がある距離を短くしたり(デフォルトだと一番端までしっかりスライドさせないと解除されないので急いでいるときなど不便です)、またはいっそのことこのロック機能そのものを無効化することができたらいいなと考えているのですが、アプリなり何なりでそのようにすることは可能でしょうか。 調べていると、「脱獄」すればタップするだけでロック解除できるアプリがあるようですが、今回において「脱獄」はしない前提でお願いします。 ご存知の方、よろしくお願いします!

  • Excel2007で、折れ線を引きたい

    Excel2007に取り込んだjpgの地図に経路の線を引こうとしています。折れ線を引くのに、線の開始点でからドラッグしクリックするまで直線を引き、そこで折れて次クリックするまで直線。最後ダブルクリックで終了というのをイメージしています。 点Bで折れる線分ABCを引く場合、AB、BCのそれぞれは直線で、連続の線を意図しています。 挿入―図形―線の中の直線ではABとBCが別々の線になります。あるいは Bを通らずACの線になってしまいます。 他に方法があるのか私の操作が悪いのでしょうか?教えて下さい。

  • iPhone アプリ 音声再生

    https://sites.google.com/a/gclue.jp/iphone-app-docs/iphoneapurinyuumon--viewhen こちらのサイトを参考にして音声再生をするアプリを作成してみました。 そこで質問なのですが このサイトには1つのボタンに1つの音声を再生するコードしか書かれていませんでした。 アクションを複数作成して Aのアクション(ボタン)をタップしたらAのcafが再生され Bのアクション(ボタン)をタップしたらBのcafが再生される というようにしたいです。 アクションはViewController.hに追加し ボタンもFile's Ownerに接続済みです 後は音声コードの箇所のみなのですが… コードのヒントでも構いません。 どのようにすればいいでしょうか

  • iphone5 パネルが反応しないのですが?

    iphone5を使用しています。 昨日気が付いたらおやすみモードになっていて何も操作できませんでした。 おやすみモードは使ったことが無いので時間を設定していません。 通話の着信だけは出来たのですが、パネルが反応しないので電源も切れません。 ホームボタンの長押しでSiriを起動しておやすみモードは解除できたのですが、ロックは解除できません。 パネルが反応しないのでスライドロックが解除できなくて困っています。 何か方法は無いのでしょうか?

  • iPhoneのロック解除

    新しいiPhoneを購入した為、古いiPhoneからデータを移行し初期設定も済ませました。simカードを差し替えようと一度電源を落として立ち上げた所、ロックがかかっており、使えなくなってしまいました。初期設定で設定した番号を入れても、何故かエラーが出てしまい困り果てています。 古い機器から新しい機器にデータを移行する際、新しい機器の「iPhoneを探す」をオフにする必要があった為、別の機器の「iPhoneを探す」のアプリからロックを解除する事は出来ませんでした。 新しい機器をMacBookに繋ぎ、iTunesを立ち上げても認識しないです。最後に、Dr.Foneというソフトからロックを解除しようとしましたが、無料版ではロックの解除は出来ないのでしょうか?ソフトとファームウェアをダウンロードして「開始」を押すと、購入、登録、キャンセルのオプションしか出ず、そこから先へは進めないようでした。 古い機器のデータのバックアップは取っている為、新しい機器のデータは全て消えても構いません。無料で出来るロック解除の方法をご存知でしたら、よろしくお願い致します。 古い機器:iPhone 6 新しい機器:iPhone SE (第二世代)

  • Flashでのドラック&ドロップと印刷について

    Flashでの開発についての質問です。  ブラウザ上にA~Eの5つの画像があります。その内のB~Eは花、雪といった小さな画像で、Aの画像にそれらをドラック&ドロップできるようにしました。  結果的にドラック&ドロップはできるようになったのですが、B~EをAにドラック&ドロップすると、Aが一番上に表示されてしまい、B~Eの画像がAの下に隠れてしまいます。これを解決したいと思っています。どうすれば解決できるかご教授ください。  さらに、Aの上にB~Eをドラック&ドロップした画像のみ(Aも含み、Aの大きさで)を印刷させるような印刷ボタンを付けたいのですが、そのようなことは可能ですか?もし、可能であればその方法も合わせてご教授ください。  よろしくお願い致します。

専門家に質問してみよう