Deaktivieren der Animation beim Ändern der Ebenen- / Ansichtseigenschaften?

Ich habe eine Art Animation komponiert, indem ich einer UIView mehrere Ebenen hinzugefügt habe. Diese Ebenen müssen durch ein Skript sichtbar oder unsichtbar gemacht werden.

Das Skript basiert auf Objekten, die ein Protokoll implementieren:

<code>// the general protocol for a step
@protocol ActionStep 
-(void) applyForTime:(int)playtime;
-(void) reset;
@end
</code>

In einem Timer durchlaufe ich die Step-Objekte:

<code>NSEnumerator* enumerator = [ScriptObjects objectEnumerator];
id obj;

while ( obj = [enumerator nextObject] )
{
  id <ActionStep> step = obj;
  [step applyForTime:currentmilliseconds];
}
</code>

Ein Skriptobjekt ist dieses Objekt:

<code>@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
</code>

und zum schluss implementiere ich das protokoll in der schicht:

<code>-(void) applyForTime:(int)playtime
{
  if ( mPrepared )  // has the step already been executed?
  {
    if ( playtime >= mTimeOffset )
    {
      [mTheLayer setAlpha:mAlpha];     //   AssignedLayer.opacity = alpha;
      [mTheLayer setPosition:mOffset]; //   AssignedLayer.position = offset;
      mPrepared = false;
    }
  }
}
</code>

Das Anwenden der Änderungen in dem Schritt führt zu einem Übergang.

Gibt es eine Möglichkeit, diesen Übergang zu deaktivieren? Ich verwende derzeit überhaupt keinen CoreAnimation-Aufruf, nur die Eigenschaften selbst (siehe Code).

Antworten auf die Frage(2)

Ihre Antwort auf die Frage