検索

ホームページ  >  に質問  >  本文

ios - target监听button点击,没有任何响应。

/** 创建btn */
UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
btn.frame = CGRectMake((self.view.frame.size.width - 100)*0.5, 500, 100, 50);
btn.backgroundColor = [UIColor greenColor];
btn.tintColor = [UIColor blackColor];
[btn setTitle:@"按住拍" forState:UIControlStateNormal];
[self.view addSubview:btn];

/** 监听事件 */
[btn addTarget:self action:@selector(touchDown) forControlEvents:UIControlEventTouchDown];

纯代码创建button,target监听button的点击事件,不明白为何点击button却没有任何响应。

ringa_leeringa_lee2768日前638

全員に返信(5)返信します

  • 怪我咯

    怪我咯2017-04-17 18:02:35

    コードをコピーして実行しました。ボタンをクリックすると反応があります。コードは問題ありません。
    1. 親クラスがインタラクションを禁止している (userInteractionEnabled)
    2. フレームによって設定されている親コントロール フレームが超過している可能性があります。 ,
    4.xcode が窮屈です。

    返事
    0
  • PHPz

    PHPz2017-04-17 18:02:35

    余談ですが、ReactiveCocoa を試してみましょう
    ボタンにイベントを追加するのはあまり快適ではありません

    リーリー

    このようにして、addTarget を完成させ、上にセレクターを書くことができます

    返事
    0
  • PHPz

    PHPz2017-04-17 18:02:35

    forControlEvents:UIControlEventTouchDown
    TouchUpInside

    に変更されました

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-17 18:02:35

    答えは上の階にあります。列挙はさまざまなイベントに対応しています。投稿者は cmd の習慣を身につけ、ヘッダー ファイルをクリックして読むことをお勧めします。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 18:02:35

    UIControlEventTouchDown は TouchUpInside に変更されました
    初心者ですか?
    お互い励まし合いましょう!!!1

    返事
    0
  • キャンセル返事