addSubview 애니메이션
다른 데이터를 표시하는 기본 UIView가 있습니다. 그런 다음 다음과 같은 하위보기를 표시하는 버튼을 넣습니다.
- (IBAction) buttonClicked:(id)sender
{
UIView *newView = [[UIView alloc] initWithFrame:CGRectMake(25,25,50,20)];
UILabel *newLabel = [[UILabel alloc] initWithFrame:CGRectMake(25,25,50,25)];
newLabel.text = @"some text";
[newView addSubview:newLabel];
[self.view addSubview:newView];
[newLabel release];
[newView release];
}
newView는 잘 보이지만 어떤 식 으로든 자체 애니메이션을 적용하지 않고 즉시 나타납니다. newView가 나타날 때 어떻게 애니메이션을 추가 할 수 있습니까? 확대 / 축소 나 아래로 슬라이드하는 것과 같은 것입니다. 간단한 코드가 있습니까?
안녕하세요 UIView 애니메이션을 사용할 수 있습니다.
[newView setFrame:CGRectMake( 0.0f, 480.0f, 320.0f, 480.0f)]; //notice this is OFF screen!
[UIView beginAnimations:@"animateTableView" context:nil];
[UIView setAnimationDuration:0.4];
[newView setFrame:CGRectMake( 0.0f, 0.0f, 320.0f, 480.0f)]; //notice this is ON screen!
[UIView commitAnimations];
이제 SDK가이를 파악하고 사용자가 지정한 위치로 뷰를 애니메이션합니다. 이것은 알파, 스케일, 경계, 프레임 등 대부분의 UIView 속성에서 작동합니다.
플립 및 컬과 같은 애니메이션 빌드도 있습니다.
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight
forView:newView
cache:YES];
[self.navigationController.view addSubview:settingsView.view];
[UIView commitAnimations];
이것이 시작하는 데 도움이되기를 바랍니다.)
[UIView transitionWithView:containerView duration:0.5
options:UIViewAnimationOptionTransitionCurlUp //change to whatever animation you like
animations:^ { [containerView addSubview:subview]; }
completion:nil];
QuarzCore 프레임 워크에 대한 링크
#import <QuartzCore/QuartzCore.h>
CATransition *transition = [CATransition animation];
transition.duration = 1.0;
transition.type = kCATransitionPush; //choose your animation
[newView.layer addAnimation:transition forKey:nil];
[self.view addSubview:newView];
애니메이션 블록과 옵션을 사용해도 애니메이션을 addSubview
만드는 것만으로는 아무런 효과가 없다는 것을 알았 습니다. 하위 뷰의 알파를 0.0으로 설정하고 하위 뷰를 추가 한 다음 알파 설정을 0.0에서 1.0으로 애니메이션하는 해결 방법을 찾았습니다. 이것은 내가 찾고 있던 페이드 인 효과를 제공합니다.
이것이 다른 사람에게 도움이되기를 바랍니다.
UIView *redView = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 100, 100)];
redView.backgroundColor = [UIColor redColor];
redView.alpha = 0.0;
[self.view addSubview:redView];
[UIView animateWithDuration:0.5 animations:^{
redView.alpha = 1.0;
}];
이 작업을 신속하게합시다.
var redView = UIView(frame:CGRectMake(20,20,100,100))
redView.backgroundColor = UIColor.redColor
redView.alpha = 0.0
view.addSubview(redView)
UIView.animateWithDuration(0.25) { () -> Void in
redView.alpha = 1.0
}
하위 뷰를 추가하는 것은 단순히 animateWithDuration 블록에 넣어서 애니메이션 할 수 없습니다. 그리고 숨김을 사용하여 애니메이션 할 수 없습니다.
참조 URL : https://stackoverflow.com/questions/2337408/addsubview-animation
'IT TIP' 카테고리의 다른 글
UIScrollView contentSize가 작동하지 않습니다. (0) | 2020.12.27 |
---|---|
C에서 정수 길이 찾기 (0) | 2020.12.27 |
Amazon S3 버킷을 삭제 하시겠습니까? (0) | 2020.12.27 |
어떤 Linux 셸을 사용해야합니까? (0) | 2020.12.27 |
Ubuntu에서 SmartGit 설치 및 사용 (0) | 2020.12.27 |