标签: uiviewanimationtransition

有没有办法使用UIViewAnimationOptionTransitionCurlUp而不用它动画整个屏幕?

我有一个视图控制器具有以下层次结构:

UIViewController
|
| -view
    | -presentView(UIView)
    | -stagedView(UIView)
    | -UIToolbar

我正在使用该transitionFromView:toView:duration:options:completion:方法动画页面卷曲,以便在presentView和之间交换stagedView.当前和分段视图仅覆盖屏幕的大部分,底部有一个UIToolbar.当我使用UIViewAnimationOptionTransitionCurlUp转换时,它会动画整个根视图(包括工具栏),而不仅仅是涉及的两个视图.

[UIView transitionFromView:self.presentView
                    toView:self.stagedView 
                  duration:0.5f 
                   options:UIViewAnimationOptionTransitionCurlUp
                completion:^ (BOOL finished) {
                                   if (finished) {
                                      // cleanup code
                                   }}];
Run Code Online (Sandbox Code Playgroud)

有没有办法只为两个子视图设置动画,只留下工具栏?如果是这样,怎么样?

iphone uiviewanimation uiviewanimationtransition

7
推荐指数
1
解决办法
2901
查看次数

为什么animateWithDuration动画和完成块之间的暂停?

继苹果公司的建议,我通过把后续调用链接的UIView动画-animationWithDuration:animation:中的completion:另一个呼叫的块aanimateWithDuration:animation:completion:,像这样:

[UIView animateWithDuration:scaleDuration delay:0 options:UIViewAnimationOptionCurveEaseIn animations:^{
    // Scale the controllers' views down.
    self.view.transform = CGAffineTransformScale(self.view.transform, 0.8, 0.8);
} completion:^(BOOL finished) {
    // Transition to the new view and push on the new view controller.
    [UIView transitionWithView:self.view duration:1 options:UIViewAnimationOptionCurveLinear | UIViewAnimationOptionTransitionFlipFromLeft animations:^{
        [self pushViewController:viewController animated:NO];
    } completion:^(BOOL finished) {
        [UIView animateWithDuration:scaleDuration delay:0 options:UIViewAnimationOptionCurveLinear animations:
^{
            // Scale back to the original size.
            self.view.transform = CGAffineTransformScale(self.view.transform, 1.25, 1.25);
        } completion:nil];
    }];
}];
Run Code Online (Sandbox Code Playgroud)

动画都执行正确的顺序,但它们之间存在微小的延迟,特别是在-transitionWithView:duration:options:animations:completion:通话之前.如何平滑动画步骤之间的过渡?

cocoa-touch core-animation uiview uinavigationcontroller uiviewanimationtransition

7
推荐指数
1
解决办法
1738
查看次数

如何在iPhone中制作半卷曲动画,如地图应用程序?

我正在使用以下代码进行页面卷曲动画

[UIView beginAnimations:@"yourAnim" context:nil];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:yourView cache:cacheFlag];
...
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)

是否有可能像iphone/ipod上的maps.app一样制作半卷曲动画?

任何想法如何产生类似的效果?

谢谢

iphone uikit uiviewanimation uiviewanimationtransition

6
推荐指数
2
解决办法
6686
查看次数

有完整的页面卷曲吗?更新

好的,所以我非常喜欢pagecurl效果,只有一个问题,当从应用程序内发送反馈电子邮件时,partialPageCurl会覆盖取消按钮和邮件的大部分发送按钮.按钮仍然有效,但用户不会看到它们.有没有办法让partialPageCurl到fullPageCurl,它几乎完全关闭屏幕?提前致谢!目前我正在推动这个观点.

- (IBAction)HelpClicked{

MoreHelp *More = [[MoreHelp alloc] initWithNibName:nil bundle:nil];

More.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:More animated:YES];

[More release]; 
}
Run Code Online (Sandbox Code Playgroud)

iphone page-curl uiviewanimationtransition ios

6
推荐指数
1
解决办法
1872
查看次数

UIView过渡动画不适用于transitionWithView:duration:options:animations:completion方法

在iOS文档中,不鼓励使用beginAnimation-commitAnimation.因此,对于动画和过渡,有一些新方法可以使用^块.但是,当我使用transitionWithView:duration:options:animations:completion方法我没有过渡效果.所以如果我写:

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp 
                       forView:self.view cache:YES];

firstView.hidden = YES;
secondView.hidden = NO;
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)

它的工作原理,但如果我这样做的话

[UIView transitionWithView:self.view duration:1.0 options 
      UIViewAnimationCurveEaseIn|UIViewAnimationTransitionCurlUp
        animations:^{
          firstView.hidden = YES;
          secondView.hidden = NO;
         } completion:NULL
         ];
Run Code Online (Sandbox Code Playgroud)

我没有任何过渡效果.我错过了什么?

uiviewanimationtransition ios4

6
推荐指数
1
解决办法
3355
查看次数

UIView transitionFromView:toView:动画无效.

这是我在stackoverflow上的第一篇文章.我是iOS开发人员新手,我不是母语为英语的人,所以我会尽力解释我的问题.

问题:

我已经在我的AppDelegate窗口中添加了两个视图,我想使用以下方法从一个窗口切换到另一个窗口:

 UIView transitionFromView:toView:
Run Code Online (Sandbox Code Playgroud)

第一个视图(MainScreenView)有自己的ViewController.在MainScreenView .xib文件中,我有一个按钮,其动作调用我的AppDelegate中实现的方法"goShow".在那个方法中,我UIView transitionFromView:toView:用来转换到第二个视图.到目前为止一切正常.我的第二个视图(一个scrollview)在我的AppDelegate中以编程方式声明,并且里面有一堆图片(picturesViewController),并且在这些视图之上有一个UIPinchGestureRecognizer.

我正在使用手势识别器来翻回我的MainScreenView.这就是问题所在.当我在滚动视图上执行捏合手势时,会MainScreenView.view立即显示在动画之前,因此翻转动画看起来不对.

我正在使用的代码是:

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

mainScreen = [[MainScreenViewController alloc] initWithNibName:@"MainScreenViewController" bundle: [NSBundle mainBundle]];

CGRect frame = self.window.bounds;
int pageCount = 10;
scrollView = [[UIScrollView alloc] initWithFrame:frame];
scrollView.contentSize = CGSizeMake(320*pageCount, 480);
scrollView.pagingEnabled = YES;
scrollView.showsHorizontalScrollIndicator = FALSE;
scrollView.showsVerticalScrollIndicator = FALSE;
scrollView.delegate = self;

[...] 'While' adding pictures to de scrollView

UIPinchGestureRecognizer *twoFingerPinch = [[[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(goBackToMain)] autorelease];
[scrollView addGestureRecognizer:twoFingerPinch];

[self.window addSubview: scrollView]; …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch uiviewcontroller uiviewanimationtransition ios appdelegate

6
推荐指数
1
解决办法
6222
查看次数

如何用动画切换视图 - 目标c

我有一个viewController,它有一个tableView和一个mapView,只有一个是可见的.我还有一个带有分段控件的工具栏,带有两个按钮(列表和地图)

如何在表格视图和地图视图之间切换?并且重要的是工具栏将保持锁定而不用视图制作动画.

iphone objective-c uiview uianimation uiviewanimationtransition

6
推荐指数
1
解决办法
5753
查看次数

如何Facebook风格过渡

想要实现类似于在facebook和许多其他应用程序中使用的视图控制器转换,附加快照.它需要使用CoreAnimation框架还是可以在工具包中使用?

在此输入图像描述

core-animation uiviewcontroller uiviewanimationtransition ios ios5

6
推荐指数
1
解决办法
1112
查看次数

使用Push Transition效果更改RootViewcontroller

在我的iOS应用程序中,我需要更改应用程序.so之间的窗口的rootviewController,当我更改我的rootviewcontroller dyncamically它在更改之前轻弹视图.但我想要的是在rootviewcontroller更改时给出平滑过渡.

我试过以下但不是我想要的过渡.

[UIView transitionWithView:self.window
                      duration:.8
                       options:UIViewAnimationOptionTransitionCurlUp
                    animations:^{

                        self.window.rootViewController = tabBarControllerMain;
    [self.window makeKeyAndVisible];
                    }
                    completion:NULL];
Run Code Online (Sandbox Code Playgroud)

我想要特定的过渡,如navigationcontroller pushview过渡.

任何机构能否让我知道如何实现这一目标?

iphone objective-c uiviewanimationtransition ios

6
推荐指数
3
解决办法
5822
查看次数

在iOS10上,snapshotView在完全呈现视图之前拍摄快照

我完全透明的桌子和导航控制器.因此,在推送新视图控制器时,动画被破坏了.因此,我添加了自己的自定义推送转换,该转换获取下一个视图控制器的快照并为其设置动画.

这不再适用于iOS10.snapshotView(afterScreenUpdates: true)返回纯白色的视图.我也尝试通过图形上下文使用旧方法获取快照,但它也不起作用.

如何确保在snapshotView之前加载推送到导航控制器的视图?或者有更好的方法来解决这个问题吗?不幸的是,这对我来说是一个突破性的变化.

uiviewcontroller uinavigationcontroller uiviewanimationtransition ios ios10

6
推荐指数
2
解决办法
2310
查看次数