2 exit door eXit_door 于 2013.06.04 11:30 提问

获取当前位于uiimageView中的图片名称

UIImageView中用计时器实现5张图片不断变换。能不能获取当前位于uiimage的图片名称?查询了一些方法,设置标签等等,写了如下代码:

[_imgView setImage:[UIImage imageNamed:@"tops.png"]];
imgArray=[[NSArray alloc] initWithObjects:@"tops.png",@"position_conv.png",@"stocks.png",@"home.png",@"report.png",nil];
[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(change) userInfo:nil repeats:YES];

-(void)change
{
    int randNum = rand() % (4 - 0) + 0; 
    [_imgView setImage:[UIImage imageNamed:[imgArray objectAtIndex:randNum]]];
}

2个回答

Mr_me
Mr_me   2013.06.04 14:46
已采纳

使用图片属性的可访问标示符Accessibility identifier,在你的方法中设置图片 accessibility identifier,你就可以随时随地获取图片了

-(void)change
{
    int randNum = rand() % (4 - 0) + 0;
    [_imgView setImage:[UIImage imageNamed:[imgArray objectAtIndex:randNum]]];
    [_imgView.image setAccessibilityIdentifier:[imgArray objectAtIndex:randNum]];
}


- (IBAction)currentImgName:(id)sender {
    NSLog(@"image name is %@", [_imgView.image accessibilityIdentifier]);
}
zhanglei5415
zhanglei5415   Rxr 2013.06.04 13:21

给imgView设置tag

[_imgView setImage:[UIImage imageNamed:@"tops.png"]];
[_imgView setTag:0]; //tops.png在imgArray中的索引位置
imgArray=[[NSArray alloc] initWithObjects:@"tops.png",@"position_conv.png",@"stocks.png",@"home.png",@"report.png",nil];
[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(change) userInfo:nil repeats:YES];

-(void)change
{
    int randNum = rand() % (4 - 0) + 0; 
    int curTag=_imgView.tag;
    NSLog(@"current imageView name is :%@",[imgArray objectAtIndex:curTag]);
    [_imgView setImage:[UIImage imageNamed:[imgArray objectAtIndex:randNum]]];
    [_imgView setTag:randNum];
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
获取图片(uiimage,uiimageview)名字(name)
使用图片属性的可访问标示符Accessibility identifier,在你的方法中设置图片 accessibility identifier,你就可以随时随地获取图片了 -(void)change { int randNum = rand() % (4 - 0) + 0; [_imgView setImage:[UIImage imageNamed:[imgAr
UIImageView 设置imagename后,获取fileName的方法
UIImageView的实例不会保存一个image file,它显示的是一个UIImage实例。当给UIImageView设置imageNamed后,无法再从UIImageView实例获取fileName。 如果需要获取,有以下几种处理方式: 1.从UIImageView继承一个sub class,设置一个NSString * imageFileName;属性  和setImage方法:
获取 image 的名字
-(void)change { int randNum = rand() % (4 - 0) + 0; [_imgView setImage:[UIImage imageNamed:[imgArray objectAtIndex:randNum]]]; [_imgView.image setAccessibilityIdentifier:[imgArray objectAt
让UIImageView内部的图片颜色根据UIImageView的TintColor来进行变化
让UIImageView内部的图片颜色根据UIImageView的TintColor来进行变化 只需要 var titleViewImageView = UIImageView(image: { #imageLiteral(resourceName: “switch_lower”).withRenderingMode(UIImageRenderingMode.alwaysTe
判断UIImageView中图片是否相同
当图片无法获取路径时,如何判断两个图片是否相同呢,是的可以将图片转换为NSData进行比较 方法如下: if ([UIImagePNGRepresentation(imageView1.image) isEqual:UIImagePNGRepresentation([UIImage imageNamed:@"banner1"])]){ imageView1.image = [
UIImageView:可以通过UIImage加载图片赋给UIImageView,加载后你可以指定显示的位置和大小。 1、初始化
UIImageView  *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0,45.0,300,300)]; imageView.image = [UIImage imageNamed:@"a.png"];//加载入图片 [self.view addSubView:image]; [imageView release]
iOS开发 获取图片点击位置的颜色
综合了网上原有的方法,实现了获得图片点击位置的颜色的功能 @property(nonatomic,strong)UIImageView *imageView; @property(nonatomic,strong)UIImageView *backgroundImageV; @property(nonatomic,assign)CGFloat scale;   原理:
UIImageView中图片尺寸模式
UIViewContentModeScaleToFill, UIViewContentModeScaleAspectFit, // contents scaled to fit with fixed aspect. remainder is transparent UIViewContentModeScaleAspectFill, // contents scaled to fill with fixed aspect. some portion of content ma
iOSUIImageView处理图片大小问题
iOSUIImageView处理图片大小问题第一种:UIImageView *myImageView = [[ UIImageView alloc] initWithImage: [UIImage imageNamed: @”demo”]]; 用该方法可以显示图片原有大小。 第二种方法: UIImageView *myImageView = [[UIImage alloc] initWithFr
iOS之UIImageView和UIImage
1.UIImageView中的视图内容显示模式    UIImageView *imageV=[[UIImageViewalloc]init];    imageV.scaleToFill------默认缩放填充;    imageV.scaleAspectfit-------有留白;    imageV.AspectFill------自适应填充,视图会被裁剪;2.UIImageView显示圆形...