2016-04-28 7 views
0

私は、ユーザーがImageViewのをクリックするときに、それがログに正しい番号を出力します?、私はVARを渡すことができます「i」は各ImageViewのにどのように次のコード数字をジェスチャ認識ツールの操作に渡すにはどうすればよいですか?

var i = 0 
for answer in answeres{ 
    let singleTap = UITapGestureRecognizer(target: self, action:#selector(tapDetected(_:)) 
    imageView.addGestureRecognizer(singleTap) 
    i+=1 
} 

func tapDetected(position : Int) { 
    print(position) 
} 

を持っていますか認識器によって呼び出される

+0

可能重複[ボタンアクションに渡すパラメータ:@selector(http://stackoverflow.com/questions/3716633/passing-parameters-on-button及び数は、ビュータグとして記憶することができます-actionselector) – Laffen

答えて

2

方法は、最初の引数として認識器を渡されます。あなたはそれに関連付けられたビューにアクセスするには、認識のviewプロパティを使用できることを意味します

func tapDetected(sender: UITapGestureRecognizer) {} 

を。

var i = 0 
for answer in answers { 
    let singleTap = … 
    let imageView = … 
    imageView.addGestureRecognizer(singleTap) 
    imageView.tag = i 
    i = i + 1 
} 

func tapDetected(sender: UITapGestureRecognizer) { 
    print(sender.view.tag) 
} 
+0

パーフェクト!私はこれを見ていた! funcにオブジェクトを渡したいのですか? –

+0

関数はビュータグを使用してオブジェクトをどこかに取得できませんか? – zoul

+0

はいできます。ありがとうございました –

関連する問題