質問

ようにしている何らかの対策は非常にシンプルな線描画のためのiPhoneアプリです。うつぶし矩形を描画も示します。を使用してい performSelector 実は私の描画方法です。

-(void) drawRowAndColumn: (id) rowAndColumn
{
    int rc = [rowAndColumn intValue];
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetLineWidth(context, 2.0);
    CGContextSetStrokeColorWithColor(context, currentColor.CGColor);
    CGRect rect = CGRectMake(rc * 100, 100, 100, 100);
    CGContextAddRect(context, rect);
    CGContextDrawPath(context, kCGPathFillStroke);

}

その呼び出しを介:

int col = 10;
[self performSelector:@selector(drawRowAndColumn:) 
           withObject:[NSNumber numberWithInt:col]
           afterDelay:0.2];

そんな時に drawRowAndColumn: メッセージを送でアクセスできなくなりますが、有効な CGContextRef, として取得しますの誤りなど

<Error>: CGContextAddRect: invalid context

に交換すれば、 performSelector 直接呼び出 drawRowAndColumn, を動作させることができます。なので私が最初に考えたもの CGContextRefperformSelector, がないのですがどう伝複数の引数と同時に(これも良い質問です。)

何が悪いと、上記コードについて教えてください。

役に立ちましたか?

解決

だけではできない描く時間をするようです。を実装する必要があり drawRect: 法UIViewにおいてコードを描画します。得 drawRect: 火災に必要なものようにココアを知ることの必要が描かれています。用できる電話 setNeedsDisplay, や setNeedsDisplayInRect:.

直接翻訳をお試このようんの呼setNeedsDisplay用performSelector:withObject:afterDelayものではないと考えられよりもすることができなアニメーション

もよい思いがあります、例えば、図面のコード drawRect しかも開始の隠れています。きっsetHidden無用performSelectorでした際に表示される遅延またはき円滑にアニメーションで起動しない隠れたが、アルファ0、その変化をアルファ1内UIViewのアニメブロックにあるこのdocs).

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top