2009-06-05 21 views
0

私の設定は、同じ幅のUIViewを含むスクリーンの中央にあるUIScrollViewです(iPhone上では300x400のように配置されます)。それは垂直に。このUIViewでは、ラベルなどでカスタムサブビューを描画します(さまざまな色のスコアボードです)。UIScrollViewの下に影を描く(UIViewをスクロールする)

私はUIScrollViewの下にいくつかの影がありたいので、スクロールするスコアボード全体が私の背景に浮かんでいます。

私はScrollViewサブクラスでこのコードを使用して、この素敵なポスト How do I draw a shadow under a UIView? を発見したが、それは私のために動作しません。おそらく私はScrollViewのdrawRectに実際の図形を描かないためです(UIViewに描画されているので)。

また、私はScrollView内のViewスクロールとスクロール領域外のScrollViewの影を持つために、ScrollViewの「境界」を拡張する必要があると思いますか?

+0

私はUIImageViewを使用して、最後に画像に影をつけました。 私は何か他に働くことはできませんでした。 – Dimitris

答えて

0

superを呼び出す前に、スクロールビューのサブクラス 'drawRect:メソッドでself.boundsの矩形全体を明示的に塗りつぶすのはどうですか?

別の考え方は、スクロールビューをシャドー描画を行う別のビューの内側に置くことです。

2

あなたが求めていることははっきりしませんが、スクロールビューのコンテンツを静的な画像にスクロールさせるには、単にスーパービューにUIView(またはUIImageView)を追加して、それにUIScrollView。あなたがcelarColorするUIScrollViewのの彼の背景色を設定した場合は、背景画像が透けて見えます - あなたは、ビュー階層構造を持っているように:

  1. UIWindow
  2. のUIView < -----あなたの背景ここ
  3. UIScrollViewの
  4. スクロールサブビュー< -----ハイスコアテーブルここ

あなたはCoreGraphicsを使ってスクロールサブビューであなたのハイスコアテーブルを描画した場合、Aあなたがリンクしている質問のnswerも動作します。

+0

私はむしろ静止画像を使用したくないです。私のスコアはUIViewの高さが変わるかもしれないから。それは2行、次に5行、そしてScrollViewの全体の高さよりも大きくなります。 – Dimitris

+0

このアプローチは、ビュー2の描画された背景で機能します。 –

+0

サイズを修正するためにイメージを拡大縮小するだけです。 – JOM

関連する問題