2009-06-30 9 views
1

いくつかのボタンコントロールを含むNIBファイルを作成しました。バックグラウンドとして、プロジェクトからロードされたPNGファイルを含むImageViewがあります。NIBからロードされたUIImageViewでDrawRectを使用できますか?

私がしたいのは、ImageViewの上に描画することです。私のUIは時計の顔で、背景の画像の上に時計の手を描きたいとします。

UIImageViewをサブクラス化し、DrawRectをデフォルトのビューのDrawRectを使用するときと同じように使用すると、画面に何も表示されません。

私はこの特定のビットの文書を読むのが難しいと思っているので少し失われています。おかげさまで

答えて

4

(UIImageViewのサブビューとして追加することにより)背景ビューの上に座る新しいカスタムUIView(たとえばHandsView)を作成します。カスタムビューでは、drawRectメソッドを使用できます。 HandsViewの下に背景イメージが表示されるように、コンテキストを透明にクリアしてください。

ターンハンドを描画したい場合は、2つの固定UIImageViewsを手の画像とともに使用し、transformプロパティを使用して回転を適用することもできます。

+0

彼が言ったこと。真剣に、これはあなたがしたいことです。 UIKitは「ペインタのモデル」を使用して、より多くのUIViewとCAlayersを常にレイヤすることができます。 –

+0

私はInterface Builderでビューを作成し、それをUIViewから継承したクラスに関連付けました。透明になるようにアルファ値を設定すると、後でビューに追加するUIImageも透明であるため表示されません。 透明度を別に設定する必要がありますか、UIImageで設定する必要がありますか? – FiddleMeRagged

+0

おっと、すみません、私はそれを理解しました。 IBの透明度を変更する必要はありませんでした。私が作成したUIViewクラスに次のコードを追加するだけでした。 - (void)awakeFromNib { self.backgroundColor = [UIColor clearColor]; } 次に、追加したビューは表示されませんが、その後追加されたUIImageが表示されます。ご協力いただきありがとうございます。 – FiddleMeRagged

関連する問題