2012-02-23 3 views
2

я получаю это предупреждениеUIViewAnimation вызывает неявное преобразование из типа перечисления

неявного преобразования из типа перечисления «UIViewAnimationCurve» для различного типа перечисления «» UIViewAnimationTransition

из последней строки в этом коде

if (((UIView*)[[slideViews subviews] objectAtIndex:0]).frame.origin.x > SLIDE_VIEWS_MINUS_X_POSITION) { 
    UIView* tempRight2View =[[slideViews subviews] objectAtIndex:[[slideViews subviews] count]-1]; 
    [UIView beginAnimations:@"ALIGN_TO_MINIMENU" context:NULL]; 
    [UIView setAnimationTransition:UIViewAnimationCurveEaseInOut forView:viewAtLeft cache:YES]; 

Я адаптирую код из StackScrollView, любой знает, как «явно» конвертировать?

ТИА

+0

Метод '[UIView beginAnimations: context:]' устарел, и вы больше не должны его использовать. – Sulthan

ответ

1

вы используете другой набор перечисления: там вы должны положить один из UIViewAnimationTransition

typedef enum { 
UIViewAnimationTransitionNone, 
UIViewAnimationTransitionFlipFromLeft, 
UIViewAnimationTransitionFlipFromRight, 
UIViewAnimationTransitionCurlUp, 
UIViewAnimationTransitionCurlDown} UIViewAnimationTransition; 

в то время как вы используете один из UIViewAnimationCurve:

typedef enum { 
UIViewAnimationCurveEaseInOut, 
UIViewAnimationCurveEaseIn, 
UIViewAnimationCurveEaseOut, 
UIViewAnimationCurveLinear} UIViewAnimationCurve 

они все еще все целые числа, но из разных групп констант

0

Все перечисления являются целыми числами.

Метод вашего звонка принимает UIViewAnimationTransition.

+ (void)setAnimationTransition:(UIViewAnimationTransition)transition 
         forView:(UIView *)view 
         cache:(BOOL)cache; 

вы устанавливаете его к одному из значений, определенных UIViewAnimationCurve.

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