2012-03-17 161 views
0

我想一個過渡效果添加到我的幻燈片:這裏是我的代碼添加在幻燈片過渡效果

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
photos = [[NSMutableArray alloc] init]; 

NSXMLParser *photoParser = [[NSXMLParser alloc] initWithContentsOfURL:[NSURL 
URLWithString:@"http://localhost/index.xml"]]; 
[photoParser setDelegate:(id)self]; 
[photoParser parse]; 

currentImage = 0; 

NSURL *imageURL = [NSURL URLWithString:[photos objectAtIndex:0]]; 
NSData *imageData = [NSData dataWithContentsOfURL:imageURL]; 
[imgView setImage:[UIImage imageWithData:imageData]]; 

timer = [NSTimer scheduledTimerWithTimeInterval: 0.5 
             target: self 
             selector: @selector(handleTimer:) 
             userInfo: nil 
             repeats: YES]; 
} 

- (void) handleTimer: (NSTimer *) timer { 
currentImage++; 
if (currentImage >= photos.count) 
    currentImage = 0; 

NSURL *imageURL = [NSURL URLWithString:[photos objectAtIndex:currentImage]]; 
NSData *imageData = [NSData dataWithContentsOfURL:imageURL]; 
[imgView setImage:[UIImage imageWithData:imageData]]; 
} 

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName 
namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName 
attributes:(NSDictionary *)attributeDict { 
if ([elementName isEqualToString:@"photo"]) { 
    [photos addObject:[attributeDict objectForKey:@"url"]]; 
} 
} 

我想我應該用

[UIView transitionFromView:currentView toView:nextView duration:1.0 
options:UIViewAnimationOptionTransitionCrossDissolve completion:nil]; 

,但我也不怎麼以填充transitionFRomView:和toView:字段。我只有一個視圖

感謝您的幫助

+0

我現在無法測試,但我會盡快完成,我會通知您。感謝您的幫助 – Enzoses 2012-03-17 23:18:59

回答

0

您可以使用該方法transitionWithView:duration:options:animations:completion:爲其documentation說:

您可以使用此模塊來添加,刪除,顯示或隱藏子視圖的指定視圖。

這是你如何使用這個方法的例子:

- (void) handleTimer: (NSTimer *) timer { 
    currentImage++; 
    if (currentImage >= photos.count) currentImage = 0; 

    NSURL *imageURL = [NSURL URLWithString:[photos objectAtIndex:currentImage]]; 
    NSData *imageData = [NSData dataWithContentsOfURL:imageURL] 
    [UIView transitionWithView:containerView 
     duration:2 
     options:UIViewAnimationOptionTransitionFlipFromLeft 
     animations:^{ 
      [imgView removeFromSuperview]; 
      imgView = // create a new image view 
      [imgView setImage:[UIImage imageWithData:imageData]]; 
      [containerView addSubview:toView]; 
     } completion:NULL]; 
} 

containerViewimgView父視圖,最有可能是self.view

+0

它只是用self.view替換containerView,imgView = [imgView setImage:[UIImage imageWithData:imageData]];與[imgView setImage:[UIImage imageWithData:imageData]];和[containerView addSubview:toView];與[self.view addSubview:imgView];大!您是否知道要添加按鈕返回,轉發並暫停演示文稿?或者我應該提交另一個問題? – Enzoses 2012-03-18 09:21:20

+0

@Enzoses - 你想在哪裏添加這些按鈕?是的,最好在另一個問題中提出這個問題,以便您可以添加更多信息。 – sch 2012-03-18 09:51:01

+0

我想要顯示控件以允許用戶決定跳過照片,或返回或暫停到特定的一個。我認爲他們應該放在同一個視圖中,或者我可以用按鈕創建一個「MainView」,並在其內部顯示幻燈片查看 – Enzoses 2012-03-18 09:54:42