2 garaster garaster 于 2012.10.24 10:34 提问

在完成之前就开始驱动UIView

我采用了[UIView animateWithDuration:...]驱动UIImageView的视图序列。代码如下:

[UIView animateWithDuration:1.0 animations:^{
    imageView.frame = newImageRectPosition;
}completion:^(BOOL finished){

}];

我希望在当前过程没完成的时候就开始驱动下一个UIImageView,比如在当前过程进行到一半的时候。能实现吗?

2个回答

lanhailvcao
lanhailvcao   2012.10.24 10:55
已采纳

用两个UIView启动块。其中一个在第一个进行一半时延迟,代码如下:

[UIView animateWithDuration:1.0 
                 animations:^{ ... }
                 completion:^(BOOL finished){ ... }
];

[UIView animateWithDuration:1.0
                      delay:0.5
                    options:UIViewAnimationCurveLinear
                 animations:^{ ... }
                 completion:^(BOOL finished) { ... }
];
MapMapM
MapMapM   2012.10.24 11:06

用计数器呗

NSTimer* timer;

timer = [NSTimer scheduledTimerWithTimeInterval:animationTime/2 target:self selector:@selector(runAnimation) userInfo:nil repeats:NO];

[UIView animateWithDuration:animationTime animations:^{
    imageView.frame = newImageRectPosition;
} completion:nil];

- (void)runAnimation
{ 

    [UIView animateWithDuration:animationTime animations:^{
        imageView.frame = newImageRectPosition;
    } completion:nil];
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
在分析完成之前就遇到流结尾
这两天在看序列化的问题想把对象序列化成数据流方便网络传输在解析的时候遇到了“在分析完成之前就遇到流结尾”这个问题 解决方法:            stream.Seek(0, SeekOrigin.Begin);引自:http://blog.csdn.net/jiangfeng128/archive/2006/10/12/1331939.aspx解决了一个问题
c# 反序列化实体类时,提示“在分析完成之前就遇到流结尾”
在反序列化的时候,需要先把流的指针位置重新设置到0 MemoryStream ms2 = new MemoryStream(); ms2.Write(bytes, 0, bytes.Length);
在分析完成之前就遇到流结尾 错误解决办法
在反序列化时,有时会遇到抛出异常“在分析完成之前就遇到流结尾。” ,这个问题是因为反序列化使用的流已经是末尾了,需要你收到将其至于开始未知,加上代码: sw.Seek(0, SeekOrigin.Begin);我是在使用socket传递序列化对象时遇到的。
[线性DP]尼克的任务
题目描述 尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成。 尼克的一个工作日为N分钟,从第一分钟开始到第N分钟结束。当尼克到达单位后他就开始干活。如果在同一时刻有多个任务需要完成,尼克可以任选其中的一个来做,而其余的则由他的同事完成,反之如果只有一个任务,则该任务必需由尼克去完成,假如某些任务
又遇到之前的一个问题?
"D:\npdemo.dll"无法加载 昨天还好好的,咋弄的呀?
UIView 的显示过程简析
三、其他 1.总结 无论采取哪种方法来自定义层,都必须调用CALayer的setNeedsDisplay方法才能正常绘图。   2.UIView的详细显示过程 * 当UIView需要显示时,它内部的层会准备好一个CGContextRef(图形上下文),然后调用delegate(这里就是UIView)的drawLayer:inContext:方法,并且传入已经准备好的C
会议
探索需求中关于会议的一些笔记。会议是一种工具会议可能是可怕的。在我们生活的某些时刻,我们每个人都曾经发誓再也不会参加另一个会议了。我们抱怨会议的漫长和无聊,它偏离主题,它让人受尽折磨,甚至于它们毫无效果。但是我们常常又变得温和,因为离开了会议我们无法生活。会议是一种工具——社会工具——如果离开了会议,我们就只能够开发最简单的产品,解决最小的问题。会议本来被认为是为了完成工作的工具,但是
ios UIView的回调方法
当视图层级有变化时,系统可以向相关视图发送回调。iOS SDK提供了留个回调的方法,应用程序可以通过这些方法来追踪视图的移动以及上层视图的变动: 1、didAddSubview:如果有人通过addSubview:方法或者是UIView提供的几个插入方法成功的向某个视图添加了一个子视图,那么系统就会在上级视图上面调用这个方法。我们可以在UIView的子类里复写这个方法,以便在新的子视图添加进来的时
UIView在AutoLayout下的布局过程
使用 Auto Layout 将 View 显示在屏幕上需要的经过三个步骤。 更新约束(updateConstraints) 通过约束关系计算出center和bounds对subviews进行布局(layoutSubViews) 将布局好的view显示到屏幕(drawRect) 与之相关的方法有如下八个。 setNeedsUpdateConstraints:将 vie
SerializationException: 在分析完成之前就遇到流结尾
异常信息:DehydrateInstance: System.Runtime.Serialization.SerializationException: 在分析完成之前就遇到流结尾。 工作流的持久性原理:Workflow Runtime会把空闲的工作流数据序列化为XML形式,然后把工作流实例从内存中清除,等到需要的时候再将其反序列化加载到内存。 主要原因是因为写的代码不符合xml的标准,不能被