문제

Xcode에서 새로운보기 기반 응용 프로그램을 만들었습니다.

ViewController에서 내가 수정 한 유일한 코드는 다음과 같습니다.

- (void)viewDidLoad {
[super viewDidLoad];

UIView *newView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
newView.backgroundColor = [UIColor redColor];
[self.view addSubview:newView];


[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat:0.5f] forKey:kCATransactionAnimationDuration];

newView.layer.frame = CGRectMake(20,20,220,220);

[CATransaction commit];
}

응용 프로그램이로드 되 자마자 반 초 동안 애니메이션하는 빨간 사각형을 생성해야합니다. 문제는 그것이 애니메이션이 아니라는 것입니다. 왜 그런지 알 수 없습니다. 이 간단한 프로젝트를 만들어 모든 변수를 분리했지만 여전히 작동하지 않습니다.

누구나 핵심 애니메이션 독서 자료의 올바른 방향으로 나를 도울 수 있습니까? 나는 이미 Apple의 모든 것을 겪었습니다.

도움이 되었습니까?

해결책

Calayer에서 속성을 설정하는 경우 코드가 예상대로 애니메이션됩니다 (기본적으로 애니메이션). uiviews가 애니메이션하려면 다음과 같은 블록 내에서 속성을 변경해야합니다.

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0f];

// Change properties here

[UIView commitAnimations];

Catransaction은 애니메이션을 그룹화하여 조정되거나 객체 그룹의 애니메이션을 수동으로 비활성화하는 데 사용됩니다.

다른 팁

누구나 핵심 애니메이션 독서 자료의 올바른 방향으로 나를 도울 수 있습니까? 나는 이미 Apple의 모든 것을 겪었습니다.

보다: Mac OS X 및 iPhone 용 코어 애니메이션 : 강력한 동적 사용자 인터페이스 생성 뷰와 레이어에 대한 핵심 애니메이션의 훌륭한 연습.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top