• ベストアンサー

タップとUIButton

iPhone開発を年明けから始めました。UITapGestureRecognizerとUIButtonを同時に判定しようと思ったんですが、UITapGestureRecognizerの方のイベントしかこなくて、UIButtonのイベントが取得できません。二つ同時にイベントを取得する方法はないのでしょうか。 よろしくお願いします。

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

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

質問文中の「イベント」は、「アクション(Action)」のことでしょうか? UIGestureRecognizerをUIViewに組みこむと、ほかのタッチイベントが無効になります。それを避けるには、UIGestureRecognizerのプロパティ「cancelsTouchesInView」をNOにします。 タップジェスチャーだと、ジェスチャーに必要な画面の面積は限定的ですが、スワイプやローテートといったジェスチャーは、大きな面積が必要です。ボタンやスライダーといったビューを避けつつ、ジェスチャーするのは、至難の業でしょう。なので、UIGestureRecognizerを組みこむと、個々のビューのタッチイベントの受け取りを、(デフォルトでは)無効にすることにしているのだと、推論できます。

crescens
質問者

お礼

イベントではなく、アクションなんですね…すみません。 おかげさまで、アクションを取得することができました。 一行追加するだけでできるなんて驚きです。 もう少ししっかり調べていきたいと思います。 丁寧にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Objective-C error = 24

    iPhoneのアプリ開発に関する質問です UIButtonやUIImageViewを組み合わせてアプリを作成したのですが シュミレーターで実行した際、UIButtonをアニメーションで 表示させたりAVAudioPlayerでcafを再生させたりと処理を繰り返していると error = 24 (Too many open files) というエラーが発生して途中で音声が再生されなくなります エラーの内容は調べたところによるとファイルがオープンしたままで閉じていない 開きすぎている。といった状態です ソースコードを載せないと解決方法が分かりづらいかもしれませんが オープンしたUIButtonなどを閉じるにはどういったコードをどのクラスに書けばよいのでしょうか?

  • アプリ開発

    アンドロイド、iPhoneそれぞれに対応したネイティブアプリを作りたいのですが、 1、それぞれで開発した方が早いですか?それとも同時に開発する方法を学んだ方が早いですか? 2、メンテナンスとかセキュリティ等も含めたらどっちの方が楽ですか?

  • iphoneプログラミングについて

    iphoneのゲーム「ストリートファイター」のように、画面外から指でタッチしたまま画面上のボタンなどを反応させるようにするにはどのようにしたらいいのでしょうか? UIBUTTONを使う方法ではできないのでしょうか? 教えていただけると助かります(><)

  • objective-c undo機能について

    objective-cでiPhone用の簡易お絵描きアプリのかいはつを行っています。 undo,redo機能を付け加えたいと考えているのですが、調べてみても理解に至りませんでした。 具体的には、まず、undo用のUIButtonを作成し、線を描き、その操作を取消したい時に、そのUIButtonを押せば、操作の取り消しが出来る。 といった感じです。 どなたかお分かりの方、いらっしゃいましたら、よろしくお願いします。

  • Objective-C if

    iPhone アプリ開発での質問です if文で条件をつける際 3つの条件が整ったらアクションを実行というようにさせたいのですがどうすれば良いのでしょうか? hiddenで隠していたUIButtonが表示されていた場合、実行とすると if(XXX.hidden){ }else{表示なのでここに処理} というようになりますよね? これで指定した3つが表示されていた場合実行というようにしたいです

  • 該非判定書の取得

    お世話になります。 外部から購入した部品について、該非判定書を取得する場合、全て調達担当部門が行うべきでしょうか? 取得した判定書を社内で確認する時、技術的な観点や法令の観点から疑問があれば、証明書の発行元に質問します。このときは、開発部門や輸出管理担当部門が行ないますが、該非判定の性質上、技術と法令の、両方の観点からチェックする必要があり、開発、輸出管理部門の両方が該非判定書発行元へ問い合わせることも十分に有り得ます。 取得するタイミングは、1.新規に購入する場合 2.法令改正時 だと考えられます。2.は開発部門や輸出管理部門が精査して、判定に影響があるものに絞って判定書を取得すればよいと考えております。そこで、 「取得」は調達部門が全て行い、取引先には、証明書の内容について開発部門や輸出管理部門から直接問い合わせる旨を通知することで対応できるのではないかと考えております。取引先も該非判定の窓口は別部門であることもあり、該非判定に関する接点は、別な部門同士にあっても組織上全く問題ないと考えられます。 取得に関しては、当社:調達部門/取引先:営業部門 問い合わせは、 当社:開発部門または輸出管理部門/取引先が指定する窓口 という役割を決めることで問題ないと考えておりますが、一般的な方法、または取得に関する考え方をご教授いただきますようお願いいたします。

  • iPhone SDK UIViewに追加したUIButtonが反応しな

    iPhone SDK UIViewに追加したUIButtonが反応しない。。。 インターフェイスビルダーにあるUIViewにボタンを追加した場合は、 ちゃんとボタンは反応するんですが、プログラムから追加したUIViewにボタンをおくと UIControlEventTouchUpInsideのイベントに反応しません。 一応、こちらに簡単なプロジェクトもあげておきました。 http://gemic.jp/xcode/buttonOnView.zip 詳細は、下記です。 View-Based Applicationテンプレートで作成したプロジェクト(buttonOnView) buttonOnViewViewController.h #import <UIKit/UIKit.h> @interface buttonOnViewViewController : UIViewController { UIView *theView; } @end ----------------------------------------------------------------- buttonOnViewViewController.m - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor redColor]; UIButton *btn1 = [[UIButton buttonWithType:UIButtonTypeRoundedRect]retain]; [btn1 initWithFrame:CGRectMake(60, 90, 200, 50)]; //このボタンは反応する↓ [self.view addSubview:btn1]; [btn1 setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; [btn1 addTarget:self action:@selector(createView:) forControlEvents:UIControlEventTouchUpInside]; } - (IBAction)createView:(UIButton*)sender { theView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; [theView setBackgroundColor:[UIColor greenColor]]; [self.view addSubview:theView]; UIButton *btn = [[UIButton buttonWithType:UIButtonTypeRoundedRect]retain]; [btn initWithFrame:CGRectMake(60, 150, 200, 50)]; //このボタンは反応しない↓ [theView addSubview:btn]; [btn addTarget:self action:@selector(deleteView:) forControlEvents:UIControlEventTouchUpInside]; } - (IBAction)deleteView:(UIButton*)sender { NSLog(@"touch event reaction"); [theView removeFromSuperview]; } ----------------------------------------------------------------- いろいろググってみたり、DevCenterのドキュメントを探したんですが、 思ったような情報が見つからず相当はまってます。 ネットで探して見つからないってことは、凄く初歩的なことか?? と思ってるんですが、、、 どなたか、助けていただけたらありがたいです。

  • リストコントロールの使用法について

    現在、VC++6.0を使用してアプリケーションの開発を行っていますが、リストコントロールで作成されるスクロールバーのイベントの取得方法が分からず困っております。 よろしくお願いします。

  • iPhone アプリ開発 bluetooth の使用について

    現在とてつもなく初心者ながらiPhoneアプリの開発を行っています。 bluetoothを使用したアプリを作りたいのですが、iPhoneが検知した bluetoothの一覧を取得する方法などはあるのでしょうか? また、iPhoneはあまりbluetoothに寛容でない(ヘッドセット以外はほとんど使えない)的な事を聞いたのですが、それは本当でしょうか? TVなどの音声をbluetoothでとばしてそれをiPhoneが検知する事は可能でしょうか? もし何か知っている方とういましたらよろしくお願いします。

    • ベストアンサー
    • Mac
  • [Objective-C]アニメーション

    Xcode 4.5.2を使用して、Objective-CでiPhoneアプリの開発を行っています。 UIView(viewAとします)のsubViewとして 3つのUIButton(btn1, btn2, btn3とします)を配置し、 「animateWithDuration:delay:options:animations:completion:」メソッドを使用して viewAごと移動させるアニメーションを実行しようとしています。 btn1~btn3のタップイベントを実装したいのですが アニメーション実行中はbtn1~btn3のタップイベントが受け付けられません。 「animateWithDuration:delay:options:animations:completion:」メソッドの「option:」に 「UIViewAnimationOptionAllowUserInteraction」を指定してみたのですが それでもだめです。 原因が分かる方、いらっしゃいましたら教えていただけないでしょうか? 初歩的な質問で申し訳ありません。。 (ソース) ※画面はstoryboardで作成しています。 //アニメーション設定 [UIView animateWithDuration:5.0f delay:0.5 options:UIViewAnimationOptionCurveLinear |UIViewAnimationOptionAllowUserInteraction animations:^{ //移動 [self.viewA setFrame:CGRectMake(0, 330, 320, 60)]; } completion:^(BOOL finished) { //処理 } ];

TK-FDM106TWHのLED点灯に関する疑問
このQ&Aのポイント
  • TK-FDM106TWHのLEDが電源ON時に橙色に光り、その後消灯することについての質問です。
  • 質問者はDELL XPS8930を使用しており、LEDの点灯が正常かどうか確認したいと思っています。
  • 購入当初からこの現象が続いており、正しい動作かどうかエレコムに確認を求めています。
回答を見る

専門家に質問してみよう