내 iPhone 앱에서는 투명한 배경을 가진 모달보기를 표시해야하며 뷰의 중심에 나타나고 크기가 커지는 것처럼 애니메이션과 함께 표시되어야합니다.애니메이션 효과가있는 현재 모달보기
"드로잉 무언가"아이폰 앱과 비슷하게 설정 버튼을 클릭하면됩니다.
어떻게하면됩니까?
내 iPhone 앱에서는 투명한 배경을 가진 모달보기를 표시해야하며 뷰의 중심에 나타나고 크기가 커지는 것처럼 애니메이션과 함께 표시되어야합니다.애니메이션 효과가있는 현재 모달보기
"드로잉 무언가"아이폰 앱과 비슷하게 설정 버튼을 클릭하면됩니다.
어떻게하면됩니까?
당신은 4 개 다음 전환 스타일 중 하나를 수행 할 수 있습니다
viewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
viewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
viewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
viewController.modalTransitionStyle = UIModalTransitionStylePartialCurl;
[self presentModalViewController:viewController animated:YES];
당신이 모달보기를 제시하기위한 자신 만의 애니메이션을 구축해야 할 것이 기본값에 포함되지 않은 무언가를 원하는 경우에
. 다음과 같지만 분명히 원하는 스타일에 해당합니다.아니 전체 대답은,하지만 어쩌면 당신이 오픈 소스 라이브러리를 살펴 수 있습니다
https://github.com/Split82/HMGLTransitions
그것은 일부 사용자 지정 모달 전환, 당신은 아마 정확히 하나를 가지고 찾고 싶지만 서브 클래스를 HMGLTransition
으로 지정하여 쉽게 전환을 추가 할 수 있습니다.
희망이
이의 당신이 제시 할 aScoreSheet라는의 ViewController 이잖아 있다고 가정 해 봅시다 도움이됩니다. 프리젠 테이션을 수행 할 뷰 컨트롤러에서이 메서드를 정의 해 봅니다.
-(void) presentTransparentModalViewController: (ScoreSheet *) aViewController
{
scoreSheet = aViewController;
UIView *view = aViewController.view;
view.opaque = NO;
[view.subviews enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
UIView *each = obj;
each.opaque = NO;
}];
[self.view addSubview:view];
view.center = CGPointMake(160, 800); //for iPhone
[UIView animateWithDuration:0.9 delay:0 options:UIViewAnimationCurveEaseInOut animations:^{
view.center = CGPointMake(160, 240);
} completion:^(BOOL finished) {
self.view.userInteractionEnabled=YES;
}];
}
다음 제어기 기각 :
-(void) dismissTransparentModalViewControllerAnimated:(BOOL) animated{
if (animated) {
[UIView animateWithDuration:0.4
animations:^{
scoreSheet.view.center = CGPointMake(scoreSheet.view.center.x, scoreSheet.view.center.y + 480);
} completion:^(BOOL finished) {
[scoreSheet.view removeFromSuperview];
scoreSheet = nil;
}];
}
}
을