2013-07-20 1 views
0

8 초마다 이미지를 변경하는 UIImage를 만들었지 만 이미지가 특정 순서로 하드 코딩되도록 만들어졌습니다. 제 질문은 어떻게 무작위로 4 개의 도구를 만들거나 다른 방법으로 만들지 못하게 할 수 있습니까?무작위 UIImage 선택기?

내 .H : 순서가 완전히 무작위 수 있도록, 여기에 나의 코드는

#import <UIKit/UIKit.h> 


@interface HomeViewController : UIViewController { 
NSTimer *myTimer; 
IBOutlet UIImageView *imageview; 
} 
@end 

그리고 내하는 .m에서 :

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 

    myTimer = [NSTimer scheduledTimerWithTimeInterval:8.00 target:self  selector:@selector(changeImage) userInfo:nil repeats:YES]; 


_images = @[@"Background 2.png", @"Background 3.png", @"Background 4.png", @"Background 5.png", @"Background 6.png", @"Background 7.png", @"Background 9.png", @"RSGC Crest.png"]; 

} 

- (void)changeImage 
{ 
static int counter = 0; 
if([_images count] == counter+1) 
{ 
    counter = 0; 
} 
imageview.image = [UIImage imageNamed:[_images objectAtIndex:counter]]; 

        counter++; 
} 

어떤 도움은 대단히 감사하겠습니다.

+0

과제를 자세히 읽지 않은 것 같습니다. 매 10 초마다 변경해야합니다. 적어도 다른 두 사람은 그것을 읽었습니다. –

+0

@HotLicks 미안하지만, 대체 무슨 말을하는거야 – user2600115

+0

나는 같은 수업을 듣는 다른 사람들을 의미한다. 그들은 10 초마다 변화가 있다고 말했다. 적어도 3 일 동안이 질문을하는 사람은 제 3 사람이므로 모두 똑같은 수업을 듣고 있습니다. –

답변

0

당신은 arc4random_uniform() 대신 arc4random()을 사용하는 @danielbeard이

int imageNumber = arc4random_uniform(8); //because you have 8 image names in the array 
NSString *imageName = _images[imageNumber]; 
imageView.image = [UIImage imageNamed:imageName]; 

신용와 같은 임의의 이미지를 선택하는 arc4random_uniform()을 사용합니다.

+1

모듈로 바이어스를 피하기 위해'ar4random_uniform'을 사용하십시오. – danielbeard

+0

@Chris Loonam 바이너리 표현식에 대한 잘못된 피연산자 인 – user2600115

+0

의 코드 백분율 기호에 오류가 있습니다. 지금 코드를 업데이트했습니다. –