2012-04-30 3 views

答えて

0

C4シェイプでは、C4Red(strokeColorの場合)とC4Blue(fillColorの場合)を使用するように設定されています。また、デフォルトanimationDurationは0.25秒に設定されています。

技術的には、C4シェイプはC4Red/C4Blueカラーで構成されており、キャンバスにヒットするとすぐに新しいカラーにアニメーションを開始します。

これらを回避し、独自の設定を生成するには、C4Shapeをサブクラス化し、色付け/タイミング/その他のプロパティの変更をクラス独自のinitメソッドに追加します。

@implementation MyShape 
-(id)initWithFrame:(CGRect)frame { 
    self = [super initWithFrame:frame]; 
    if(self != nil) { 
     self.animationDuration = 0.0f; 
     self.fillColor = [UIColor purpleColor]; 
     self.strokeColor = [UIColor greenColor]; 
    } 
    return self; 
} 
@end 

...と私C4WorkSpace.mは、次のようになります:MyShapeクラスの実装(.mファイル)で

私が持っている私は、これは知っている

#import "C4WorkSpace.h" 
#import "MyShape.h" 

@implementation C4WorkSpace 

-(void)setup { 
    MyShape *ms = [MyShape new]; 
    [ms ellipse:CGRectMake(100, 100, 100, 100)]; 
    [self.canvas addShape:ms]; 
} 

@end 

現時点では少し粗いですが、オブジェクトがキャンバスに当たる前にデフォルトの色を設定することはありませんでした。

関連する問題