【问题标题】:UITableViewCell Set Selected ImageUITableViewCell 设置选中的图片
【发布时间】:2011-02-14 04:16:26
【问题描述】:

试图弄清楚如何为tableViewCell 设置所选图像。

旧的写法是cell.selectedImage,但自 3.0 以来已被弃用。

我尝试了很多东西,但都无法做到。

谢谢! 乔什

【问题讨论】:

    标签: iphone objective-c ios uitableview


    【解决方案1】:

    根据Deprecated UITableViewCell Methods 文档,您应该使用 imageView 的 highlightImage 属性作为 selectedImage 的替代品。例如:

    UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
    cell.imageView.image = [UIImage imageNamed:@"deselected_image.png"];
    cell.imageView.highlightedImage = [UIImage imageNamed:@"selected_image.png"];
    

    【讨论】:

      【解决方案2】:

      您可以像下面这样设置选定的 backgroundView....

              UIImageView *selBGView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"urimage.png"]];
                      cell.selectedBackgroundView = selBGView;
      

      【讨论】:

        【解决方案3】:

        这不起作用,因为您可能会像这样设置正常状态图像

        cell.imageView.image = ///
        

        试一试 - 它对我非常有效!

        UIImageView *selBGView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"urimage_selected.png"]];
         cell.selectedBackgroundView = selBGView;
        [selBGView release];
        
        UIImageView *BGView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"urimage.png"]];
         cell.backgroundView = BGView;
        [BGView release];
        

        【讨论】:

        • 谢谢,它对我们有用。
        【解决方案4】:

        试试这个...

            UIImage *bgImage = [UIImage imageNamed:@"icon_call.png"];
            UIImageView *bgImageView = [[UIImageView alloc] initWithImage:bgImage];
        
            [bgImageView setFrame:CGRectMake(280, 2, 30, 38)];
        
        //Finally give this imageView to the cell
        
             [cell.contentView addSubview:bgImageView];
        

        希望它能解决你的问题!

        【讨论】:

        • 太棒了!多谢,伙计。 CGRect 坐标有点偏离,但没有什么是我无法解决的。感谢您的帮助:)
        • @Joshua Russell 为什么你不接受这个答案......它被你之前接受了......这对你没有帮助
        【解决方案5】:

        使用这个!:

        selectionBackground = [UIImage imageNamed:@"background.png"];
        cell.selectedBackgroundView =[[UIImageView alloc] init];
        ((UIImageView *)cell.selectedBackgroundView).image = selectionBackground;
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-12-20
          • 2011-08-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多