UIImageView图像不会因代码而改变

时间:2011-02-02 22:57:56

标签: iphone uitableview uiimageview uiimage

我知道我的问题很愚蠢,但是我无法修复它而且我没有找到任何答案。 我在自定义UITableViewCell中有一个IBoutlet UIImageView。我在IB中设置它的UIImage,我想在自定义单元格录制时通过代码更改它。 我的代码如下。但不知何故,形象并没有改变。 这是我自定义UItableViewCell的方法。

-(void)setExpanded:(BOOL)expand
{
    if(expand)
    {
        [self.expandedImageView setImage:[UIImage imageNamed:@"bt_up.png"]];
        expanded = YES;
        //self.infoLabel.hidden = NO;
        //[self setNeedsDisplay];
    }
    else
    {
        [self.expandedImageView setImage:[UIImage imageNamed:@"bt_down.png"]];
        expanded = NO;
        //self.infoLabel.hidden = YES;
        //[self setNeedsDisplay];
    }

}

我尝试使用“SetNeedDisplay”。我也尝试在CustomCell之外更改UIimage但不起作用。

任何帮助都将非常感激,因为我已经花了很多时间;)

的问候,

3 个答案:

答案 0 :(得分:0)

可能有两个原因:

  1. 你的self.expandedImageView是nil
  2. 您没有名为bt_up.png,bt_down.png
  3. 的图片

答案 1 :(得分:0)

如果您的图片和属性确实有效,那么我建议您检查哪个线程正在调用setExpanded:。 Cocoa声明UI对象只能由UI线程修改,所以如果你从某个计时器或BG线程调用它,那么可能就是这个问题。

答案 2 :(得分:0)

尝试打印其(自定义UITableViewCell)子视图,并检查列表中是否存在图像实例,如果存在则尝试更改该实例的图像。