У меня есть UIView, который отображает изображение в зависимости от того, насколько хорошо пользователь сделал это на уровне, тогда у пользователя есть варианты для перехода на следующий уровень, и после того, как они будут завершены с тем, который отображает UIView снова с изображение в зависимости от того, насколько хорошо они сделалиПовторное использование UIView
Я освобождаю UIView после того, как пользователь решает, что хочет перейти на следующий уровень и внутри UIView. Я уверен, что я освобожу все, как только закончу, но когда UIView загружается во второй раз, когда изображение с первого раза все еще там, и второе изображение помещается поверх него, поэтому вы одновременно видите оба изображения.
Я не знаю, почему это происходит, как я сказал, я уверен, что я отпускаю все внутри UIView, а затем я выпускаю UIView, когда пользователь закончит с ним
Я создал UIView с интерфейсом Builder
Любая помощь будет оценена
//this is the code to access the UIView
-(void)DisplayStatsForLevel:(NSInteger)level ScoreEarned:(NSInteger)pScore NumberHit:(NSInteger)pNumberHit TotalTargets:(NSInteger)pTotalTargets MedalEarned:(NSInteger)pMedalEarned BulletsFired:(NSInteger)pBulletsFired
{
switch(level)
{
case 1:
[levelOne removeFromSuperview];
[levelOne release]; levelOne = nil;
[self.view addSubview:levelComplete];
[levelComplete SetupScreen:pScore NumberHit:pNumberHit TotalTargets:pTotalTargets MedalEarned:pMedalEarned BulletsFired:pBulletsFired];
break;
case 2:
[levelTwo removeFromSuperview];
[levelTwo release]; levelTwo = nil;
[self.view addSubview:levelComplete];
[levelComplete SetupScreen:pScore NumberHit:pNumberHit TotalTargets:pTotalTargets MedalEarned:pMedalEarned BulletsFired:pBulletsFired];
break;
default:
break;
}
}
//this is the code that releases the UIView
-(void)NextLevel:(NSInteger)nextLevel
{
switch (nextLevel)
{
case 2:
[levelComplete removeFromSuperview];
[levelComplete release]; levelComplete = nil;
[self.view addSubview:levelTwo];
[levelTwo SetupLevel];
break;
default:
break;
}
}
//this is the code that displays the image
switch (medalWon)
{
case 1:
medalImage = [UIImage imageNamed:@"Bronze.png"];
break;
case 2:
medalImage = [UIImage imageNamed:@"Silver.png"];
break;
case 3:
medalImage = [UIImage imageNamed:@"Gold.png"];
break;
case 4:
medalImage = [UIImage imageNamed:@"Platinum.png"];
break;
default:
break;
}
medal =[[UIImageView alloc] initWithFrame:medalFrame];
medal.image = medalImage;
[medalImage release];
[medal setNeedsDisplay];
[self addSubview:medal];
Некоторый код поможет. Ваше освобождение может просто уменьшить количество удержаний, но фактически не приведет к dealloc. Плюс Im любопытно, как вы рисуете свое второе изображение таким образом, что два изображения попадают в одно и то же место. – mahboudz
Я сделал UIView Generic так, чтобы он был настроен одинаково в оба раза (подумайте, что экран экрана для уровня), поэтому рисунок изображения точно такой же, как и каждый раз, дайте мне несколько минут, и я отправлю код – Keeper
Итак, медаль (изображение) заканчивается двумя изображениями, отображаемыми n друг над другом? Не могли бы вы создать две или более медали (изображения) друг на друга? – mahboudz