小编Zup*_*ppa的帖子

更改图层/视图属性时禁用动画?

我通过向UIView添加几个图层来编写一种动画.这些图层应由脚本设置为可见或不可见.

该脚本基于实现协议的对象:

// the general protocol for a step
@protocol ActionStep 
-(void) applyForTime:(int)playtime;
-(void) reset;
@end
Run Code Online (Sandbox Code Playgroud)

在计时器中我遍历步骤对象:

NSEnumerator* enumerator = [ScriptObjects objectEnumerator];
id obj;

while ( obj = [enumerator nextObject] )
{
  id <ActionStep> step = obj;
  [step applyForTime:currentmilliseconds];
}
Run Code Online (Sandbox Code Playgroud)

一个脚本对象就是这个对象:

@interface LayerStep : NSObject <ActionStep> 
{
  int mTimeOffset;
  CGPoint mOffset;
  float mAlpha;
  LayerObject* mTheLayer;
  bool mPrepared;
}
-(id)initWithLayerObject: (LayerObject*) theLayer Milliseconds:(int) milliseconds     Offset:(CGPoint) offset Alpha:(float)alpha;

@end
Run Code Online (Sandbox Code Playgroud)

最后我在层中实现协议:

-(void) applyForTime:(int)playtime
{
  if ( mPrepared )  // has the step already …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c calayer uiview ios

9
推荐指数
1
解决办法
6526
查看次数

标签 统计

calayer ×1

ios ×1

iphone ×1

objective-c ×1

uiview ×1