iPhone開発で昨日ハマったこと。 UIViewを継承してカスタムビューを作った。 drawRect に独自の描画処理を書くわけだが、外からの値変更に伴い 再描画してほしい。そこで、setNeedsDisplay をしてあげると、 一息ついた段階で(ぁあ即時よばれるというわけではないということがいいたいだけ。)drawRectが呼ばれ、 Viewを再描画するわけだあ。 ハマったことは、setNeedsDisplayはしているのに、drawRectが呼ばれていない。。なぜ? 結論は、setNeedsDisplayをした時点ではviewが表示されていない(スーパービューにAddされていない)状態だったため、のようだ。 setNeedsDisplayしてから対象のviewを表示させようとしていたところ、 反対にviewを表示してからsetNeedsDisplayしたら、うまくいった。 まぁふつ