タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

CoreGraphicsに関するraidesoのブックマーク (2)

  • フリーITエンジニアの記録 setNeedsDisplayをしてもdrawRectが呼ばれないのでハマった

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

    raideso
    raideso 2011/07/10
    drawRectを直接呼んだりするとcontextがnilになるのでコンソールにエラーを吐く。
  • UIViewとグラフィックの描画(1/4):初心者のためのiphone/ipadプログラミング入門 - libro

    アプリでは、あらかじめ用意されている部品を配置して画面を構成するだけしかできないわけではありません。必要に応じて、プログラム内からさまざまな表示を作成することもあります。特に、グラフィックについてはこうしたやり方が多く用いられます。 さまざまな図形などを表示する場合、丸や四角の部品を配置して作る、というのはあまり現実的ではないでしょう。それより、必要に応じてプログラム内から画面に直接図形を描くことができれば、そのほうがはるかに簡単でなおかつ柔軟なグラフィック表示が行えますね。 iOSには、グラフィックの描画に関する機能が標準で用意されています。「Quartz」と呼ばれる描画エンジンを使った「Core Gracphics」ライブラリというものが標準で組み込まれており、これに用意されている描画用関数などを呼び出すことで画面に様々な描画を行うことができます。 ただし、必要に応じて画面の表示が正し

  • 1