问题标签 [catransition]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3879 浏览

iphone - iOS 4 上的隐藏 CATransition 动画(相机虹膜动画)

我正在尝试从 Apple 相机应用程序中实现相机光圈动画。它也可以在 RedLaser、Sudoku Grab 等许多其他应用程序中找到,因此即使它是私有的,它似乎也适用于 Apples 规则。

隐藏的 CATransition 动画在此处记录,例如:http: //iphonedevwiki.net/index.php/UIViewAnimationState

但是我无法让任何隐藏的工作,公共的工作正常。这可能是 iOS 4 的变化吗?我找到的关于这些隐藏动画的所有信息似乎都有些过时了。

这是我的代码:

使用“reveal”作为“animation.type”在我的代码中效果很好。

有人在 iOS 4 上玩过吗?还是问题完全不同?RedLaser 在 iOS 4 上使用了这种效果(它不是 iOS 4 优化的应用程序)。

0 投票
1 回答
3800 浏览

animation - iPhone - UINavigationController - 使用 CATransaction 自定义动画

我正在尝试为 UINavigationController 创建一个类别,以便可以将一些自定义动画放在一起。我遇到了这个问题,它让我开始了。我提出了以下推送功能:

我不明白通过子视图调用访问哪个视图/图层。因此,如果有人可以帮助我理解这一点,那将很有帮助。它似乎正在影响即将出现在屏幕上的任何视图。

我的主要问题是我正在尝试创建一个将“撤消”上述功能的弹出窗口。为清楚起见,假设我有两个视图,A 和 B。A 是屏幕上显示的第一个视图。上面的函数将在 B 中移动而不将 A 推出。就像模态视图一样。但是下面的函数将 A 滑回到 B 上,而不是向上滑动 B 并将 A 留在原处。

我不想使用模态视图,也不想使用自定义动画块来更改视图的框架。

0 投票
2 回答
2562 浏览

iphone - UINavigationController 推送过渡期间的低帧率

我有一个UINavigationController, 并从根视图控制器推送到下一个视图控制器。第二个视图控制器相当“重”,因为它有大量的初始化和子视图。

我的问题是:过渡动画的表现非常糟糕。基本上,动画的帧速率非常低(我从“推送”动画中总共得到 3-4 帧)。

我尝试了各种不同的技术,包括两种不同的手动动画过渡方法。在所有情况下,动画的前 0.4-0.7 秒都会受到这种低帧率的影响。例如,如果我将过渡时间设置为 5 秒,那么前半秒左右的效果会很差,但动画的其余部分却很流畅。

这使我相信在过渡开始时正在发生“某些事情”——导致设备以非常低的帧速率进行动画处理的事情。

在我的代码中注入了大量NSLog语句后,我看到发生了两件事。首先,显然第二个视图在推送期间被延迟加载。我通过在执行推送之前访问 view 属性上的 getter 来解决这个问题。我可以确认这会导致在推送动画开始之前发生所有初始化。

其次,我的应用程序大部分时间在转换过程中都会收到内存不足的警告。然而,即使在我没有收到内存警告的情况下,动画的表现仍然很差——让我相信这些都不是原因。

我的问题:是否有其他人在推送过渡动画中遇到过低帧率UINavigationController,但仅在动画的前 0.4-0.7 秒?幕后是否还有其他事情导致它发生,有什么可以做的吗?

作为参考,这是我当前加载并推送到下一个视图的代码。我有目的地访问视图获取器,以强制视图在转换之前加载和初始化(主要是为了排除这个问题)。此代码在主线程上执行,performSelectorOnMainThread:::以响应 Web 服务回调。

我还尝试了其他一些动画技术,结果都一样:

和:

0 投票
1 回答
1462 浏览

cocoa - 带有 CIFilter 的 CATransition 第一次不起作用,第二次起作用

我想为 NSView 添加 CATransition 动画。我有以下代码:

问题是:

  1. 我执行这段代码。

  2. [[contentView animator] addSubview:mySubview];第一次这样做,它不起作用。视图刚刚出现。CATransition委托方法被调用,但finished标志为 NO(假)。

  3. 我删除视图[mySubview removeFromSuperview];并通过动画删除,finished标志 = YES (true)。

  4. 我重复第 2 步和第 3 步,它适用于动画。第 2 步现在告诉动画是finished(YES)。按预期工作。

怎么了?

0 投票
2 回答
2157 浏览

iphone - 使用 CATransitions 切换视图的问题

所以我试图使用这段代码在视图之间切换:

但是,代码不起作用。没有错误,代码执行得很好,但它什么也没做。我在这里有什么问题?

0 投票
2 回答
812 浏览

iphone - 为什么我的 CATransitions 出现问题?

我正在使用以下代码在带有 CATransition 的视图之间切换。

它的功能主要是我想要的。它应该从顶部推动,但是由于某种原因它的行为很奇怪。首先,我要切换到的视图应该从底部进入,但由于某种原因,我要切换到的视图以低不透明度出现在它的顶部,所以你可以看到它们。但是,您还会看到进来的视图,在其自身和另一个视图之上,向上移动了 100 像素,再次具有低不透明度。就在过渡的中点之前,一切正常,你只看到进来的视图和出去的视图,做他们应该做的事情。但是在中途点之后,我正在切换到的视图出现在其最终目的地,在我正在切换的视图下,并且我正在切换的视图的不透明度降低了。

这里发生了什么?

0 投票
1 回答
1625 浏览

ios - 使用 kCATransitionMoveIn 在 UIView 中滑动时出现故障

我有一个 UINavigationController,当用户按下按钮时,它的 UIView 从屏幕底部滑入。

但是,在我将视图的“隐藏”属性设置为 NO 之后,UINavigationController 的视图有时会在一帧内完全就位,就好像动画已经完成一样。

这是显示/隐藏视图的代码:

0 投票
0 回答
2707 浏览

iphone - UINavigationController 自定义动画

可能重复:
用于推送 UIViewController 的自定义动画

你们中的任何人都实现了在 UINavigationController 中制作自定义动画,例如从中间扩展?(例如,当您从启动器视图中选择新闻提要时的 Facebook 应用程序)

我看到了一个技巧,比如为所需的下一个控制器的视图设置动画,但我使用的是 Three20 框架并且很难获得下一个控制器视图。

所以我唯一的选择是使用 CATransition。使用这段代码,我可以设法获得某种接近我想要的动画。

它会做什么?它将动画褪色类型的动画。我想要的是从 CABasicAnimation 缩放视图框架。

你们知道如何实现这一目标吗?类似于 CATransition 中的转换动画。

0 投票
2 回答
580 浏览

iphone - 在 CATransition 之后释放视图控制器:我这样做对吗?

我的应用程序正在加载第一个视图(用于登录 Web 服务)。登录成功后,它会执行 CATransition(基本 kCATransitionFromRight)以显示第二个视图并隐藏第一个视图。我已将转换的委托设置为 self 以便我可以使用-(void)animationDidStop:(CATransition *)theAnimation finished:(BOOL)flag.

当调用该方法时(在转换结束后)我想释放第一个视图,因为我不再需要它了。但是,当我调用[firstView release](in animationDidStop:) 时,保留计数似乎没有改变。我曾经[loginView retainCount]检查过这个,因为我知道它并不总是可靠的,所以我想知道:我这样做对吗?

谢谢你。

0 投票
2 回答
6378 浏览

iphone - 使用 CAAnimation 实现 CATransition 推送

你如何在 iOS 中kCATransitionPush使用子类来实现?CAAnimation

我知道UIView可以使用动画,但是如果我可以从头开始实现过渡,它将帮助我更好地理解核心动画。kCATransitionPush