2010-10-19 19 views
1

У меня есть анимация (в настоящее время 30 разных изображений), и я хочу добавить ее в одну страницу в ScrollView (в настоящее время она содержит 7 страниц). Это можно сделать?Добавление анимации в страницу ScrollView

Я добавил свой код ниже, поведение, которое я получаю, заключается в том, что на моей выбранной странице ничего не появляется, на всех остальных страницах я получаю изображения как обычно, но должно быть что-то не так с моим методом addAnimation, Я не вижу. Может кто-то, пожалуйста, посмотрите на это и скажите мне, что я делаю неправильно ... Я боюсь, что это очевидная ошибка, я смотрел на это некоторое время.

ViewController.m

- (void)loadView { 
    //holds the pages 
pageArray = [[NSMutableArray alloc] init]; 
[self setUpView]; 
} 
- (void)setUpView { 
//INITIALISE PAGING SCROLL VIEW 
CGRect pagingScrollViewFrame = [[UIScreen mainScreen] bounds]; 
pagingScrollViewFrame.origin.x = 0; 
pagingScrollView = [[UIScrollView alloc] initWithFrame:pagingScrollViewFrame]; 
pagingScrollView.contentMode = UIViewContentModeScaleAspectFit; 

//CONFIGURE PAGING SCROLL VIEW 
pagingScrollView.pagingEnabled = YES; 
pagingScrollView.backgroundColor = [UIColor whiteColor]; 
pagingScrollView.contentSize = CGSizeMake(pagingScrollViewFrame.size.width*7, pagingScrollViewFrame.size.height); 

//ACTIVATE PAGING SCROLL VIEW 
self.view = pagingScrollView; 

//ADD PAGES TO SCROLL VIEW 
for (int i = 0; i < 7; i++){ 
    ImageScrollView *page = [[[ImageScrollView alloc] init] autorelease]; 
    [self configurePage:page forIndex:i]; 
    [pagingScrollView addSubview:page]; 
      //adds pages here for reference in other methods 
    [pageArray addObject:page]; 
} 
} 
- (void)configurePage:(ImageScrollView *)page forIndex:(NSUInteger)index 
{ 
    page.index = index; 
    page.frame = [self frameForPageAtIndex:index]; 
    //if the image is id number 4 add an animation, if not, add an image as normal 
if (index == 4){ 
    [self addAnimation:page]; 
}else { 
    [page displayImage:[self imageAtIndex:index]]; 
} 

} 
- (void)addAnimation:(ImageScrollView *)page{ 
    //I got this code from a tutorial on animation, I'm trying to add this UIImageView to my ScrollView 

    // make a new UIImageView for the new image 
    UIImageView* animationView = [[UIImageView alloc] init]; 
// load all the frames of our animation 
animationView.animationImages = [NSArray arrayWithObjects: 
      [UIImage imageNamed:@"pin clip0000.jpg"], 
      [UIImage imageNamed:@"pin clip0001.jpg"], 
      [UIImage imageNamed:@"pin clip0002.jpg"], 
      [UIImage imageNamed:@"pin clip0003.jpg"], 
      [UIImage imageNamed:@"pin clip0004.jpg"], 
      [UIImage imageNamed:@"pin clip0005.jpg"], 
      [UIImage imageNamed:@"pin clip0006.jpg"], 
      [UIImage imageNamed:@"pin clip0007.jpg"], 
      [UIImage imageNamed:@"pin clip0008.jpg"], 
      [UIImage imageNamed:@"pin clip0009.jpg"], 
      [UIImage imageNamed:@"pin clip0010.jpg"], 
      [UIImage imageNamed:@"pin clip0011.jpg"], 
      [UIImage imageNamed:@"pin clip0012.jpg"], 
      [UIImage imageNamed:@"pin clip0013.jpg"], 
      [UIImage imageNamed:@"pin clip0014.jpg"], 
      [UIImage imageNamed:@"pin clip0015.jpg"], 
      [UIImage imageNamed:@"pin clip0016.jpg"], 
      [UIImage imageNamed:@"pin clip0017.jpg"], 
      [UIImage imageNamed:@"pin clip0018.jpg"], 
      [UIImage imageNamed:@"pin clip0019.jpg"], 
      [UIImage imageNamed:@"pin clip0020.jpg"], 
      [UIImage imageNamed:@"pin clip0021.jpg"], 
      [UIImage imageNamed:@"pin clip0022.jpg"], 
      [UIImage imageNamed:@"pin clip0023.jpg"], 
      [UIImage imageNamed:@"pin clip0024.jpg"], 
      [UIImage imageNamed:@"pin clip0025.jpg"], 
      [UIImage imageNamed:@"pin clip0026.jpg"], 
      [UIImage imageNamed:@"pin clip0027.jpg"], 
      [UIImage imageNamed:@"pin clip0028.jpg"], 
      [UIImage imageNamed:@"pin clip0029.jpg"], 
      nil]; 

// all frames will execute in 1 second 
animationView.animationDuration = 1; 
// repeat the annimation forever 
animationView.animationRepeatCount = 0; 
// start animating 
[animationView startAnimating]; 
    [page addSubview:animationView]; 
[animationView release]; 

} 

ответ

0

я не добавил кадр в анимации. Я добавил это к методу addAnimation:

CGRect animationFrame; 

animationFrame = page.frame; 
animationFrame.origin.x = 0; 

animationView.frame = animationFrame; 
Смежные вопросы