2012-04-05 7 views
0

私は次のコードが動作しません:私はgoToFoodDetailに決して到達しません。uitableviewcellでuiimagevieweタッチを受け取ります

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    static NSString *cellIdentifier = @"<#MyCell#>"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier] autorelease]; 
    } 

    NSInteger objectLocation = indexPath.row; 

    UILabel* lblText = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 260, 20)]; 
    [lblText setFont:[UIFont fontWithName:@"Helvetica" size:10.0]]; 
    [lblText setText:[food foodName]]; 
    [cell addSubview:lblText]; 

    UILabel* lblType = [[UILabel alloc] initWithFrame:CGRectMake(0, 21, 260, 20)]; 
    [lblType setFont:[UIFont fontWithName:@"Helvetica" size:9.0]]; 
    lblType.textColor = [UIColor blueColor ]; 
    [lblType setText:[food foodType]]; 
    [cell addSubview:lblType]; 

    UIImageView * detailImage = [[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"paris.jpg"]] autorelease]; 
    detailImage.frame = CGRectMake(270, 4, 40, 36); 
    cell.imageView.userInteractionEnabled = YES; 
    cell.imageView.tag = indexPath.row; 

    UITapGestureRecognizer *tapped = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(goToFoodDetail:)]; 
    tapped.numberOfTapsRequired = 1; 
    [cell.imageView addGestureRecognizer:tapped]; 
    [tapped release]; 

    [cell addSubview:detailImage]; 
    [detailImage release]; 
    [lblText release]; 
    [lblType release]; 
    return cell; 
} 

-(void)goToFoodDetail :(id) sender 
{ 
    UITapGestureRecognizer *gesture = (UITapGestureRecognizer *) sender; 
    NSLog(@"Tag = %d", gesture.view.tag); 
} 

答えて

0

あなたがイメージParis.jpを示し、新たなUIImageViewを作成し、あなたのセルにそれを追加することが、その後、セルのデフォルトの画像表示にタップジェスチャー認識を追加するが、それはイメージです設定していないように見えます。各セルに2つのイメージビューを表示する予定ですか?

セルの画像ビューに画像を表示してタップ可能にする場合は、もう一方の画像ビューを作成する必要はありません。 cell.imageView.image = [UIImage imageWithName: "Paris.jog"]を設定して、ジェスチャ認識機能を同じものに付け加えることができます。

+0

ただ1つ。そして、ありがとう、私はこれを試し、あなたに知らせるでしょう。 – Nir

関連する問題