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]]];
}
答案 0 :(得分:2)
替换:
[popUpPlay setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@", playSelectionTag.imageView.image]]];
使用:
popUpPlay.image = [playSelectionTag imageForState:UIControlStateNormal];
您接受的解决方案会以突出显示的状态为您提供发件人的图像。
答案 1 :(得分:1)
用于UIButton的imageView是UIImageView。和UIImageView中的图像是UIImage。 因此,在字符串中转换它将不起作用。
一种可能的方法是使用[[UIImage alloc] initWithCGImage:[playSelectionTag.imageView.image CGImage]]
如果不起作用,请尝试按照。
跟踪您在按钮中使用的图像。您可以通过保持图像数组并将图像名称存储在与playSelectionTag.tag相同的索引来实现此目的。