UILabel と UIImageView を含むカスタム UIView があります。UIView をクリック可能にするにはどうすればよいですか? ユーザーが UIView を押し始めるたびに UIView の背景を変更したい。ユーザーがボタンを持ち上げると、色が元に戻るはずです。また、クリック イベントを処理できる必要があります。
22328 次
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
:
上記のリンクからの手順をここにリストします。
- Tap Gesture Recognizer オブジェクトを から
Object library
シーンにドラッグし、UIView の上に配置します。 - に Tap Gesture Recognizer が表示されます
scene dock
。シーン ドックは、First Responder、Exit などがあるストーリーボードのビュー コントローラーの上部です。 - Control キーを押しながらシーン ドックのジェスチャ レコグナイザーからコード ディスプレイにドラッグして、タップ ジェスチャ レコグナイザーをコードに接続します。UIButton アクションの場合と同様に、アクション ダイアログに入力します。
- あなたは終わった!: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 に答える