MainView
シングル ビュー アプリの場合、クラスを追加して のViewController.xib
カスタム クラスを使用し、 でイベントMainView
をキャッチし、ドット (場所) を記録するようにしたのは、非常に奇妙です。touchesMoved
ViewController.m
次に、 のdrawRect
中MainView.m
にドットを描きます。そのため、プログラムを実行すると、画面上に 1 つのドットが表示され、指が移動した場所に描画されます...
initWithCoder
しかし、 に追加するとすぐにMainView.m
、動作がまったく異なります。ドットを描画する前にビューのコンテンツがクリアされないようで、以前に描画されたすべてのドットが画面に残りますが、画面が頻繁に点滅します (新しい GPU を搭載した新しい iPad を使用しています)...そこにあるようですいくつかの「バッファ」があり、いくつかは古いドットのセットが異なり、別のバッファには古いドットの異なるセットがありました...指が画面から離れたとき、それはそれらのバッファの1つである可能性があります(異なるドットのセットを持つランダムバッファ) . (もう 1 つ: 画面の背景がすべて黒に変更されました。以前は、灰色または Interface Builder がビューに設定した色でした)。次のように追加すると、なぜinitWithCoder
そのような効果が生じるのですか?
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super init];
if (self) {
}
return self;
}