2011-09-05 42 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]; 

解決方案會給你加亮狀態,發送者的形象。

相關問題