2011-09-05 43 views
-1

tl; dr:我创建了一个与发件人具有相同图像的UIImageView。我试图找出如何去做这件事。UIControlStateNormal的发件人图像

我试图让发件人图像。这里是我的代码来获取发件人:

UIButton *playSelectionTag = (UIButton *)sender; 



if (playSelectionTag.tag == 5) { 

    /* 
    [popInToolbar release]; 

    [all release]; 
    [world release]; 
    [politics release]; 
    [TVMovies release]; 
    [aboutText release]; 
    [aboutTrueFalse release]; 
    [scoreText release]; 

    [spaceBar release]; 
    [done release]; 
    */ 

    popUpPlay = [[UIImageView alloc]init]; 

    popUpPlay.frame = CGRectMake(playSelectionTag.frame.origin.x, playSelectionTag.frame.origin.x, playSelectionTag.frame.size.width, playSelectionTag.frame.size.height); 

    [popUpPlay setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@", playSelectionTag.imageView.image]]]; 

    } 

回答

1

imageView for UIButton is UIImageView。 UIImageView中的图像是UIImage。 因此,在字符串中进行转换将不起作用。

一种可能的方式是使用[[UIImage的页头] initWithCGImage:[playSelectionTag.imageView.image CGImage]

,如果它不工作,然后尝试以下。

跟踪您在按钮中使用的图像。您可以通过保存一系列图像并将图像名称存储在与playSelectionTag.tag相同的索引处来实现此目的。

+0

那么没有工作,我会继续前进,创建数组并使用它。谢谢:) – Jacob

+0

[UIImage alloc] initWithCGImage是正确的构造函数。给这段时间,因为它会给你很多代码的灵活性。 – Mohammad

2

替换:

[popUpPlay setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@", playSelectionTag.imageView.image]]]; 

有了:你接受

popUpPlay.image = [playSelectionTag imageForState:UIControlStateNormal]; 

解决方案会给你加亮状态,发送者的形象。

相关问题