草庐IT

catransaction

全部标签

ios - 准备序列时在事务中调用 CATransaction 同步

我有UITableViewController,当我点击一个单元格时,我想显示带有UITableViewController的UINavigationController作为模态视图。我有这个功能来准备序列:-(void)prepareForSegue:(UIStoryboardSegue*)seguesender:(id)sender{if([segue.identifierisEqualToString:@"ShowTitles"]){UINavigationController*navigationController=(UINavigationController*)segue

ios - CAShapeLayer 动画不会停留在屏幕上而是消失

我正在尝试绘制一个动画圆圈,但每个部分都需要另一种颜色。现在一切正常,只是在我再次调用该方法之前刚刚绘制的作品消失了,所以只剩下最后一部分。我不想要那个,我想要在4次之后用不同颜色的笔触绘制一个完整的圆圈。如何解决这个问题使其不消失?这是我的初始化代码:-(void)_initCircle{_circle=[CAShapeLayerlayer];_radius=100;//Makeacircularshape_circle.path=[UIBezierPathbezierPathWithRoundedRect:CGRectMake(0,0,2.0*_radius,2.0*_radius

ios - AVPlayerLayer 没有显示 AVPlayer 视频?

让AVPlayer视频内容显示在一个人的View中有什么诀窍?我们正在使用以下AVPlayer代码,但屏幕上没有显示任何内容。我们知道视频在那里,因为我们能够使用MPMoviePlayerController来显示它。这是我们使用的代码:AVAsset*asset=[AVAssetassetWithURL:videoTempURL];AVPlayerItem*item=[[AVPlayerItemalloc]initWithAsset:asset];AVPlayer*player=[[AVPlayeralloc]initWithPlayerItem:item];player.actio

ios - 获取由 UIView 的 animateWithDuration 创建的动画的引用或通过任何其他方式识别它

假设我制作了这样一个动画:[UIViewanimateWithDuration:0.5delay:0.0options:UIViewAnimationOptionCurveEaseInOutanimations:^{someView.frame=CGRect(0,100,200,200);}completion:nil];假设我在someView中有subview,它们的layoutSubviews方法被覆盖了。我想识别那个layoutSubviews中的一个正在进行的动画,并根据我检测到的动画是由我创建的,或者它是否是由设备旋转引起的,例如,做出相应的Action。要获取正在进行的动

iphone - 如何为一组嵌套的 UIView animateWithDuration 调用调用单个完成 block ?

我有一批动画调用,通过遍历数组调用。所有这些调用都嵌套在一个封装的动画block中,以便它们有效地并行执行。我还有一个完成block,我只想在所有嵌套动画完成后触发。问题是嵌套动画的持续时间未知,所以我不能简单地计算哪个调用将是最后一个完成并在此调用上设置完成block。同样,我无法计算持续时间并在完成block上使用延迟调用。希望有一个例子可以使这一点更清楚。这是我正在尝试做的(非常简化的)版本:-(void)animateStuff:(CGFloat)animationDurationwithCompletionBlock:(void)(^)(BOOL)completionBloc

ios - CoreAnimation 困惑 : CATransaction vs CATransition vs CAAnimationGroup?

我已经分别多次使用这三个类。例如,当我想将多个动画(即:CABasicAnimations等)组合在一起同时发生时,我首先想到的是CAAnimationGroup,当我想看到图层从一种状态变为另一种状态时(即:出现,滑入等)我想到了CATransition。但同时CATransaction意味着批量执行动画(WTH?)CATransaction和CATransition似乎是不同的野兽,但我通常在CATransactions中看到CATransitions?我已经多次阅读文档,但从未将它们并排比较,也没有比较它们应该用于什么时候/什么。如果有人能指出他们的关系/用法是什么,那就太好了:

ios - +[CATransaction synchronize] 搜索时在事务内调用

我实现了一个searchController并添加到navigationItem中。这是代码:varsearchController=UISearchController(searchResultsController:nil)searchController.obscuresBackgroundDuringPresentation=falsedefinesPresentationContext=truesearchController.searchResultsUpdater=selfsearchController.searchBar.placeholder=NSLocalized

ios - 动画 CATextLayer 的 foregroundColor 属性

我想为iPhone上的CATextLayer的文本(foregroundColor)颜色的变化设置动画。根据文档,该属性的隐式动画在OSX10.6上不可用,但没有提及iOS。因此,我只是假设动画必须是明确的才能在iOS上运行。我已经使用+(class)layerClass更改了支持层类,并在UIViewinit方法中为该属性设置了一个初始值。文本以及我应用的所有属性(阴影、字体等)显示得很好,但动画没有任何影响。下面是我的动画方法,我从KVO观察方法调用它,以便在观察到的属性发生变化时View提醒用户。-(void)animateTextChange{animation=[CABasi

ios - 使用平移手势移动 CALayer 时延迟

我使用平移手势在CALayer中移动图像。我遇到的问题是图像移动时似乎有一点延迟,并且不会“卡在”我的手指上。这是我如何移动图层的实际片段(facePic是CALayer):CGPointtranslation=[touchelocationInView:self.view];self.facePic.frame=CGRectMake(translation.x-self.facePic.frame.size.width/2,translation.y-self.facePic.frame.size.height/2,self.facePic.frame.size.width,self

ios - 应用完成时 CABasicAnimation 闪烁

我正在尝试按度数将旋转动画应用到UIImageView并在完成block中保留旋转转换。我面临的问题是,当执行完成block时,从动画的结束状态传递到完成block会产生可见的闪烁。这是我目前使用的代码:if(futureAngle==currentAngle){return;}floatrotationAngle;if(futureAngle 最佳答案 当你说闪烁时,我假设你的意思是在动画结束时,它会在返回最终状态之前暂时返回到初始状态?这可以通过以下方式解决设置最终view.transform在你开始动画之前(你不再需要comp