私は隠れた問題で立ち往生しています。Superview からすべての UIProgressView を削除したい。このように十字ボタンを作成していますが、
crossButton = [[CCMenuItemImage alloc] initWithNormalSprite:[CCSprite spriteWithSpriteFrame:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"close-bttn.png"]] selectedSprite:nil disabledSprite:nil block:^(id sender)
{
[self hideProgressBarForDownload];
[[NSNotificationCenter defaultCenter] postNotificationName:kNotificationInAppLayerClosed object:self userInfo:nil];
[[GameManager sharedGameManager]setCurrentLayer:-1];
[self removeFromParentAndCleanup:YES];
}];
クリックすると、次のメソッドが階層的に呼び出されます
-(void) hideProgressBarForDownload
{
[[DownloadManager sharedDownloadManager]removeAllProgressbarsIfvisible];
}
-(void)removeAllProgressbarsIfvisible
{
NSArray * allkeys = [currentDownloads allKeys];
for (int i = 0; i < [allkeys count]; i++)
{
NSString *key = [allkeys objectAtIndex:i];
DownloadItem * item = [currentDownloads valueForKey:key];
UIProgressView * progress = item.progressIndicator;
//progress.hidden = YES;
if (progress.superview)
{
[progress removeFromSuperview];
}
}
}
すべてのコードが正しいと思いますが、なぜそれらが削除されないのかわかりません。
前もって感謝します。