내 요구 사항은 화면 오른쪽에서 스 와이프하면 (viewcontroller A) 대화 형 전환을 사용하여 다음 viewcontroller (viewcontroller B)로 푸시해야합니다. 나는 화면의 왼쪽에서 스 와이프 (viewcontroller B) 대화식 전환을 사용하여 컨트롤러를 닫습니다. 원 총리는 대화 형 전환을 사용하여의 ViewController를 닫 구현 한 올바른 방법 .I 그것을 구현할 수 있지만 수없는 이러한 대화 형 전환 섹션대화 형 전환을 사용하여 viewcontroller를 표시하는 방법
에 대한 코드 내 라인입니다 대화 형 전환#import "AMSimpleAnimatedDismissal.h"
@implementation AMSimpleAnimatedDismissal
-(NSTimeInterval)transitionDuration:(id<UIViewControllerContextTransitioning>)transitionContext
{
return 1.5f;
}
-(void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext
{
UIViewController *fromVC = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];
UIViewController *toVC = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];
[[transitionContext containerView]addSubview:toVC.view];
CGRect toFrame = toVC.view.frame;
CGRect initialFrame = fromVC.view.frame;
toVC.view.frame = CGRectMake(-320 ,0, CGRectGetWidth(toFrame) , CGRectGetHeight(toFrame));
CGRect finalFrame = CGRectMake(initialFrame.size.width, initialFrame.origin.y, initialFrame.size.width, initialFrame.size.height);
UIViewAnimationOptions opts = UIViewAnimationOptionCurveLinear;
[UIView animateWithDuration:1.0 delay:0 options:opts animations:^{
fromVC.view.frame = finalFrame;
toVC.view.frame = CGRectMake(0, 0, CGRectGetWidth(fromVC.view.frame), CGRectGetHeight(fromVC.view.frame));
} completion:^(BOOL finished) {
[transitionContext completeTransition:![transitionContext transitionWasCancelled]];
}];
}
를 사용하여의 ViewController에 밀어 구현할 수있는 방법
내가 제대로 UINavigationController가 생성과 viewControllers에 푸시했다면,이 실제로 아이폰 OS 7 UISwipeGestureRecognizer 클래스 – Dili
에 의해 슬쩍 제스처를 사용하고있을 수 있습니다 구현하기 위해 내가 가장 좋은 방법을 이해하는 것과, 사용자의 요구 사항에 대한 정확하게 명확하지 않다 - 왼쪽에서 오른쪽으로 스 와이프하면 이전 컨트롤러 – SAKrisT
@SAKrisT : iOS 7의 기본 기능이지만 왼쪽에서 오른쪽으로 쓸어 넘기를 원한다는 것을 알고 있습니다. 이전 viewcontroller에 비해 viewcontroller pop처럼 보이지만 viewcontroller 같은 scrollview, pageviewcontroller 같은 이동해야합니다 ... scrollview 내 경우 실용적이지 않습니다. – abymathew