2009-07-17 2 views
1

У меня возникла проблема с UIView, что при использовании сплошного цвета для фона, анимация отлично.Анимация для UIViews с фоновыми изображениями?

Однако, когда я устанавливаю фоновое изображение для его цвета, анимация UIView работает неправильно. Это похоже на призрак контура страницы, но сам UIView на 100% прозрачен (если это имеет смысл).

цвет фона изображения является заранее установить, как так (что щурит анимация):

UIImage *loadedImage = [UIImage imageNamed:@"MyTexture.png"]; 
UIColor *tempColour = [[UIColor alloc] initWithPatternImage:loadedImage]; 
[myUIView setBackgroundColor:tempColour]; 
[tempColour release]; 

Установка цвета фона на твердый, однако, позволяет работу анимации штраф:

[myUIView setBackgroundColor:[UIColor blackColor]]; 

анимация Я использую:

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:0.5];  
[UIView setAnimationTransition:UIViewAnimationCurveLinear forView:myUIView cache:YES]; 
[myUIView setHidden:YES]; 
[UIView commitAnimations]; 

ответ

1

По моему опыту самый надежный w Чтобы получить изображение для работы в качестве фона в приложениях iphone, нужно использовать отдельный UIImageView, на котором вы установили бы фоновое изображение. Затем вы можете установить UIImageView в виде нижнего уровня и поместить другие его виды поверх него.

В представлениях, которые вы положили поверх него, вы установили backgroundColor в [UIColor clearColor], и это дает вам фактически то, что вы пытаетесь сделать здесь.

Я использовал это в нескольких приложениях успешно, и он намного надежнее, чем установка изображения непосредственно на фон UIView (который я также пробовал и раньше).

Надеюсь, что это поможет.

Смежные вопросы