【问题标题】:Catch uiimageviewe touch in uitableviewcell在 uitableviewcell 中捕捉 uiimageviewe 触摸
【发布时间】:2012-04-05 12:56:19
【问题描述】:

我有以下代码不起作用:我从来没有到达goToFoodDetail

- (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);
}

【问题讨论】:

    标签: objective-c uitableview uiimageview uiimage


    【解决方案1】:

    看起来您正在创建一个新的 UIImageView 来显示图像 Paris.jp 并将其添加到您的单元格中,然后将点击手势识别器添加到单元格的默认图像视图中,但没有设置它的图像。您打算在每个单元格中有两个图像视图,还是只有一个?

    如果您打算让单元格的图像视图既显示图像又可点击,则无需创建其他图像视图。您可以设置 cell.imageView.image = [UIImage imageWithName:"Paris.jog"] 并将手势识别器附加到相同的位置。

    【讨论】:

      猜你喜欢
      • 2015-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-27
      • 1970-01-01
      • 2023-03-29
      相关资源
      最近更新 更多