12

UILabel と UIImageView を含むカスタム UIView があります。UIView をクリック可能にするにはどうすればよいですか? ユーザーが UIView を押し始めるたびに UIView の背景を変更したい。ユーザーがボタンを持ち上げると、色が元に戻るはずです。また、クリック イベントを処理できる必要があります。

4

3 に答える 3

21
-(void)addGestureRecogniser:(UIView *)touchView{

    UITapGestureRecognizer *singleTap=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(changecolor)];
    [touchView addGestureRecognizer:singleTap];
    DBLog(@"ADD GESTURE RECOGNIZER");
}
-(void)changecolor{

  // do something


}

1`) これは、クリック可能にするためにビューをパラメータとして渡す必要があるコード スニペットです。

于 2013-03-19T03:35:34.890 に答える
13

もう 1 つの方法は、ストーリーボード/Interface Builder を介してジェスチャ認識機能を接続することです。

それは非常に簡単で、コードを使用するよりもクリーンだと思います。

ここでは、Gesture Recognizer をセットアップするための段階的なリファレンスを示します。を検索するだけですGesture Recognizer:

https://developer.apple.com/library/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/Lesson4.html#//apple_ref/doc/uid/TP40015214-CH6-SW1

上記のリンクからの手順をここにリストします。

  1. Tap Gesture Recognizer オブジェクトを からObject libraryシーンにドラッグし、UIView の上に配置します。
  2. に Tap Gesture Recognizer が表示されますscene dock。シーン ドックは、First Responder、Exit などがあるストーリーボードのビュー コントローラーの上部です。
  3. Control キーを押しながらシーン ドックのジェスチャ レコグナイザーからコード ディスプレイにドラッグして、タップ ジェスチャ レコグナイザーをコードに接続します。UIButton アクションの場合と同様に、アクション ダイアログに入力します。
  4. あなたは終わった!:D
于 2016-08-01T04:40:17.387 に答える
7

スウィフト 2.0 バージョン:

UIGestureRecognizerDelegateの実装を忘れないでください

// Add tap gesture recognizer to View
let tapGesture = UITapGestureRecognizer(target: self, action: Selector("onClickOnView"))
tapGesture.delegate = self
self.view.addGestureRecognizer(tapGesture)

func onClickOnView(){
   print("You clicked on view..")
}

スウィフト 3.0 バージョン:

// Add tap gesture recognizer to View
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(clickView(_:)))
tapGesture.delegate = self
view.addGestureRecognizer(tapGesture)

func clickView(_ sender: UIView) {
    print("You clicked on view")
}
于 2016-01-11T11:07:00.480 に答える