Изображение отправителей для UIControlStateNormal - PullRequest
0 голосов
/ 05 сентября 2011

tl; dr: я создаю UIImageView с тем же изображением, что и отправитель.Я пытаюсь понять, как это сделать.

Я пытаюсь получить изображение отправителей.Вот мой код, чтобы получить отправителя:

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]]];

    }

Ответы [ 2 ]

2 голосов
/ 05 сентября 2011

Заменить:

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

На:

popUpPlay.image = [playSelectionTag imageForState:UIControlStateNormal];

Принятое вами решение даст вам изображение отправителя в выделенном состоянии.

1 голос
/ 05 сентября 2011

imageView для UIButton - это UIImageView. и изображение в UIImageView является UIImage. Таким образом, преобразование в строку не будет работать.

Одним из возможных способов является использование [[UIImage alloc] initWithCGImage: [playSelectionTag.imageView.image CGImage]]

если это не работает, попробуйте следующее.

Следите за изображениями, которые вы использовали в кнопке. Вы можете добиться этого, сохраняя массив изображений и сохраняя имя изображения в том же индексе, что и playSelectionTag.tag.

...