Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 设置UIView动画以获得交叉淡入淡出效果效果效果不太好_Iphone_Ios_Animation_Uiview_Uideviceorientation - Fatal编程技术网

Iphone 设置UIView动画以获得交叉淡入淡出效果效果效果不太好

Iphone 设置UIView动画以获得交叉淡入淡出效果效果效果不太好,iphone,ios,animation,uiview,uideviceorientation,Iphone,Ios,Animation,Uiview,Uideviceorientation,我已经成功地创建了一个图标菜单,可以从选项卡栏选择中显示。您可以在纵向或横向中查看此菜单 由于屏幕上的空间,我将其设置为在纵向视图中可以查看4x4图标。。然而,由于横向观察时的尺寸大小,这不太适用。。因此,我将其设置为可以查看2行6和1行4。因此,我决定为菜单创建两个UIView,当设备旋转时,我在这两个视图之间切换 i、 e.如果纵向电流和设备旋转,则加载横向和卸载纵向,反之亦然 这是我用来更改设备旋转视图的代码,它工作得非常好(可能不是最好的代码,但它是我能做的最好的代码) 现在我遇到的问题

我已经成功地创建了一个图标菜单,可以从选项卡栏选择中显示。您可以在纵向或横向中查看此菜单

由于屏幕上的空间,我将其设置为在纵向视图中可以查看4x4图标。。然而,由于横向观察时的尺寸大小,这不太适用。。因此,我将其设置为可以查看2行6和1行4。因此,我决定为菜单创建两个UIView,当设备旋转时,我在这两个视图之间切换

i、 e.如果纵向电流和设备旋转,则加载横向和卸载纵向,反之亦然

这是我用来更改设备旋转视图的代码,它工作得非常好(可能不是最好的代码,但它是我能做的最好的代码)

现在我遇到的问题是,两个UIView之间的动画非常难看,它不是很平滑,你可以在动画上看到两个不同的视图,这是不可取的。。我想知道是否有人能想出一个很好的方法来在两者之间交叉淡入,使它看起来更平滑等等

任何帮助都将不胜感激

编辑:

因此,我刚刚尝试创建了一个CATTransaction,但是有一行出现了一个错误,没有可见的@interface for'UIView'声明选择器'jumpBarContainerPortrait'我在下面得到此错误的行中添加了一条注释。。任何帮助都将不胜感激

[CATransaction begin];
            CATransition *animation = [CATransition animation];
            animation.type = kCATransitionFade;
            animation.duration = 3.50;

            [self.view insertSubview:jumpBarContainerPortrait belowSubview:actionTabBar];

            [[self.view jumpBarContainerPortrait] addAnimation:animation forKey:@"Fade"]; // Error is happening here!
            [CATransaction commit];

使用UIView方法“transitionFromView”,而不是单独的淡入淡出动画。下面是一个例子:

        [UIView transitionFromView:jumpBarContainerLandscape
                            toView:jumpBarContainerPortrait
                          duration:crossDissolveTime 
                           options:UIViewAnimationOptionTransitionCrossDissolve 
                        completion:NULL];

您是否尝试过使用
cattransition
而不是键入
kCATransitionFade
。很酷,谢谢,这很有效。。它在标签栏上做了一些奇怪的事情,即使我在标签栏后面插入jumpBarContainerPortrait,视图在转换发生后会出现在标签栏上。。。所以现在就想弄明白。是的,结果比我的动画效果稍差。。我不知道为什么,但它也会使我的标签栏消失。。。这很奇怪,这是一个很好的解决方案,但它没有为我的动画做任何事情,所以我会保持这个线程打开,看看是否有其他人有建议。。如果没有,我想我会把你的标记为正确。
        [UIView transitionFromView:jumpBarContainerLandscape
                            toView:jumpBarContainerPortrait
                          duration:crossDissolveTime 
                           options:UIViewAnimationOptionTransitionCrossDissolve 
                        completion:NULL];