2010-08-17 6 views
20

아마도 올바른 구문의 문제 일 것입니다.UIViewAnimation에 대해 여러 옵션을 정의하려면 어떻게해야합니까?

나는 animateWithDuration:delay:options:animations:completion: UIView 메소드를 사용합니다.

options: 여기에 문제가있는 부분이다 : 나는 하나의 옵션이 (예를 UIViewAnimationOptionCurveEaseInOut에 대한) 모든 것이 잘 작동 할당 할 때.

동일한 애니메이션에 개의 복수 옵션 을 할당하려면 어떻게해야합니까? 어떻게해야합니까?

나는 다음 코드를 시도하지만, options: 부분은 완전히 을 무시 밝혀졌다 :

> [UIView animateWithDuration:DURATION 
>       delay:DELAY 
>      options:(UIViewAnimationOptionAllowUserInteraction, 
>        UIViewAnimationOptionCurveEaseInOut) 
>     animations: ^{/*animations here*/} 
>     completion: ^(BOOL finished){/*actions on complete*/}]; 

는 그냥 시도했고 그것은 작동하지 않았다. 여기서 어떤 구문을 사용해야합니까?

사전에 도움을 주셔서 감사합니다.

답변

51

목표 - C

options:(UIViewAnimationOptionAllowUserInteraction | 
          UIViewAnimationOptionCurveEaseInOut) 

스위프트 스위프트 UIViewAnimationOptions에서

이있는 Option set type 여러 옵션이 방법은 다음 전달 될 수 있습니다 :

options:[.AllowUserInteraction, .CurveEaseInOut] 
+0

나는 그것이 쉬울 것이라고 확신했다. 고마워, 블라디미르 Спасибо. –

+0

스위프트에 대한 답변은 무엇입니까? '싫어!' 분명히. – MarqueIV

2

그냥 이유를 추가 컴파일러가 제공된 옵션을 무시한 것 같습니다. t는 당신이 시도 구문이 종종 첫 번째 옵션을 버리고 오직 쉼표 후 값을 할당 기본적으로 C에서

(UIViewAnimationOptionAllowUserInteraction, UIViewAnimationOptionCurveEaseInOut) 

다세대 컴파일러를 간과 쉼표 연산자를 사용합니다 때문에 오류가 던져. 보다 일반적인 경우에는 쉼표 연산자의 첫 번째 인수가 계산되지만 결과는 무시됩니다.

관련 문제