2013-06-03 3 views
1

저는 UIImageView와 약 5 개의 이미지를 사용하고 있습니다. 타이머는 시간의 경과에 따라 변경됩니다. UIImage.I google에 현재 설정된 이미지 이름을 가져올 수 있고 이미지 이름을 배열에 삽입하고 imageView에 태그를 설정하여 해당 태그로 이미지 이름을 얻을 수 있지만 제 경우에는 하나의 imageView 만 있고 이미지는 5. 내 코드는 다음과 같습니다. -UIImageView로 현재 설정되어있는 이미지 이름을 가져 오는 다른 방법은 무엇입니까?

[_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

UIImageView의 이미지의 접근성 식별자 속성을 사용할 수 있습니다. 메서드에서 이미지 접근성 식별자를 설정하고 원하는 곳으로 가져올 수 있습니다.

-(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]); 
} 
0

당신은 UIView

UIImageView *image ; 
[image setAccessibilityIdentifier:@"file name"] ; 

NSString *file_name = [image accessibilityIdentifier] ; 
+0

읽기 질문 carefully.I의 서브 클래스 setAccessibilityIdentifier 방법을 사용할 수 있습니다 내가 하나의 UIImageView가 말했다. 그래서 매번 당신의 대답은 imageName을 얻을 때 같은 가치를 부여합니다. –

+0

대답에서 문자열 값을 충분히 유지할 수 있고 그 값은 충분하다는 것이 분명합니다. 이미지를 변경할 때마다 그 값을 설정하고 원하는 것을 가질 수 있습니다. –

+0

죄송 합니다만, imageView.A의 접근성을 설정할 위치를 지정하지 않았기 때문에 대답이 명확하지 않습니다. viewDidload에있을 것 같아서이 코드를 넣고 확인했습니다. –

관련 문제