2013-10-24 58 views
0

嗨,我是新來的電話編程。任何人都可以告訴我使用下面的代碼我自動使用下面的代碼一個接一個地顯示UIImage。這裏全部UIImages我在NSArray存儲一次所有UIImages顯示它有停止,但在這裏我怎麼能停止,一旦所有UIImages完成。如何停止在ios中顯示圖像

- (void)displayPicture{ 
    for (NSString* path in array000) { 
     [blaukypath2 addObject:[UIImage imageWithContentsOfFile:path]]; 
     NSLog(@"%@",path); 
    } 

    NSLog(@"%@",blaukypath2); 
    NSLog(@"%icurrentImage DIDF",currentImage); 

    currentImage++; 
    if (currentImage >= blaukypath2.count) currentImage = 0; 

    UIImage *blaukyyimag = [blaukypath2 objectAtIndex:currentImage]; 
    [img10 setImage:blaukyyimag]; 
    NSLog(@"%icurrentImage++ DIDF",currentImage); 
} 
+0

這是一個功能,一個循環或者裏面有什麼?因爲這段代碼實際上只執行一次 – Alex

+0

在這裏實際上是iam圖像+音頻我顯示了一次音頻內部的細密播放方法我打電話給 –

+0

你解決了你的問題嗎?請標記正確的答案,將此帖標記爲已回答。 –

回答

0

如果你使用一個UIImage,你可以這樣做最簡單的事情:

myUIImage = nil; 

確保myUIImage在您storyboardxib文件勾搭上了,雖然。

0

我不能告訴你的代碼究竟是如何工作的,但如果是在某種forwhile循環,這些線路可能是你的問題:

currentImage++; 
if (currentImage >= blaukypath2.count) currentImage = 0; 

你遞增currentImage,但是當你得到blaukypath2中的最後一幅圖像,你將currentImage設置爲0並重新開始。試試這個:

if (currentImage < blaukypath2.count) 
{ 
    currentImage++; 
} 
0

看起來好像是currentImage的增量不管做什麼。確保只有當你仍在數組的環路中時才能完成。blaukypath2。圖像img10也應該只在你還在那個循環中時才顯示。

if (currentImage < blaukypath2.count) { 

    UIImage *blaukyyimag = [blaukypath2 objectAtIndex:currentImage]; 
    [img10 setImage:blaukyyimag]; 
    NSLog(@"%icurrentImage++ DIDF",currentImage); 

    currentImage++; 
} 
0

我在代碼中看到兩個問題。

1 - 您應該將圖像初始化循環從'did finish playing method', 移動,因爲它非常流暢。你需要在初始化方法中做一次。 在同一個地方,你需要將currentImage初始化爲零。

2 - 要顯示每個圖像只有一次,你需要遵循「去把演奏法」代碼

if (currentImage < blaukypath2.count) { 
    UIImage *blaukyyimag = [blaukypath2 objectAtIndex:currentImage]; 
    [img10 setImage:blaukyyimag]; 
    NSLog(@"%icurrentImage++ DIDF",currentImage); 
    currentImage++; 
} else { 
    [img10 setImage:nil]; 
    NSLog(@"all images was displayed DIDF"); 
}