0

私は次のカスタムセルを持っています:

ここに画像の説明を入力

テーブルを埋めるとき、私はこれを行います:

 UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapDetected)];
singleTap.numberOfTapsRequired = 1;
cell.iboPopImage.userInteractionEnabled = YES;
[cell.iboPopImage addGestureRecognizer:singleTap];

この少しハイライトされた画像にタップ イベントを追加します。

関数イベントは次のとおりです。

セルインデックスを渡したいので、必要なセルで操作できます

-(void)tapDetected:(NSInteger *)index
{
    //Some code to do
}

しかし、次のように書くことはできません。

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapDetected:indexPath.row)];

修正方法は?

4

2 に答える 2

0

それを取得するには、インターフェイスで次の手順を実行します。

@interface viewcontroller : UITableViewController
{
 int indexpathRow;
}

-(void) getIndex:(int)getRow;

次に、.m ファイルの- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPathメソッドで、 as を呼び出します[self getIndex:indexPath.row];。次に、インデックス パスを取得します。

-(void) getIndex:(int)getRow
{
indexpathRow = getRow;
}

これで、viewController クラスのどこでも使用できます。

于 2013-10-22T12:14:44.067 に答える