положить uiimages на задний план - PullRequest
1 голос
/ 05 июля 2011

вот мой код:

-(void)transition
{

CATransition *applicationLoadViewIn = [CATransition animation];
[applicationLoadViewIn setDuration:2];
[applicationLoadViewIn setType:kCATransitionFade];
[applicationLoadViewIn setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
//on ajoute l animation au layer
[[self.view layer] addAnimation:applicationLoadViewIn forKey:kCATransitionFade];
//On configure notre nouvel image
int rand = arc4random() % 6;
switch (rand) {

    case 0: 
    imgView2 =   [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"pinkfont.png"]];          
        break;
    case 1:
       imgView2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"greenfont.png"]];
        break;
    case 2:
     imgView2 =  [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"whitefont.png"]];
        break;
    case 3:
  imgView2 =  [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yellowfont.png"]];
        break;
    case 4:
        imgView2 =  [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"purplefont.png"]];
        break;
    case 5:
        imgView2 =  [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bluefont.png"]];
        break;
}

/
if(self.view.layer.sublayers.count<=2)
    //premier cas on ajoute notre image
{
    [[[self view] layer] addSublayer:[imgView2 layer]];
    [self.view sendSubviewToBack:imgView2];

}
else {
    //deuxieme cas on supprime notre image
    [[self.view.layer.sublayers lastObject] removeFromSuperlayer];


}

[imgView2 release];
 }

- (void)viewDidLoad {
[super viewDidLoad];
UIImage *image2 = [UIImage imageNamed:@"belleouf2_03.png"];
int rand2 = arc4random() % 5;
switch (rand2) {
    case 0: 
        imgView =   [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"pinkfont.png"]];          
        break;
    case 1:
        imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"greenfont.png"]];
        break;
    case 2:
        imgView =  [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"whitefont.png"]];
        break;
    case 3:
        imgView =  [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yellowfont.png"]];
        break;
    case 4:
        imgView =  [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"purplefont.png"]];
        break;
    case 5:
        imgView =  [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bluefont.png"]];
        break;
}

//On ajoute à la vue le layer avec notre image
[[[self view] layer] addSublayer:[imgView layer]];
[self.view sendSubviewToBack:imgView];

    [imgView release];
[NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(transition) userInfo:nil repeats:YES];

 }

я хочу поместить imgView и imgView2 в фон, но есть только imgView, который находится в фоновом режиме, и это только вначало (viewDidLoad).Как я могу сделать это, пожалуйста?извините за мой английский я французский: /

1 Ответ

0 голосов
/ 09 июля 2011

Хорошо, самый простой способ сделать это - иметь два изображения на экране. Таким образом, в Интерфейсном Разработчике есть изображение, которое вы покажете последним внизу. Пусть все они сложены друг на друга. Затем используйте ваш NSTimer, чтобы установить изображение невидимым. Таким образом, если вы установите верхний слой как невидимый, второе изображение станет видимым, а затем, чтобы вернуть первое изображение, установите верхнее изображение обратно видимым, и, так как это изображение находится сверху, оно будет отображаться как фон. Надеюсь это поможет!

...