2011-03-06 5 views
2

オンデイのアプリのscreenshotをご覧ください。iPhone:UIScrollViewまたはUITableViewでオーバーレイする画像

アプリの一番下に、最後のエントリがぼやけて、テキストが古いページのカールのカスタムグラフィックの下に描画されます。ビューが透明性を持つ画像の下に描画されているからです。

UIScrollViewまたはUITableViewの上にイメージをオーバーレイすることができますが、このような効果を得ることができますが、タッチイベントは引き続き基本ビューで処理されますか?

答えて

4

スクロールビューまたはテーブルビューの上に画像ビューをドロップするだけです。 Interface Builderでは、スクロールビューをフェードアウトさせたい領域のイメージビューの大きさと位置を設定するだけです。あるいは、コードに:

UIImageView *overlayView = [[UIImageView alloc] initWithImage:someImage]; 
[overlayView setFrame:someFrame]; 

// Your scroll view or table view would be a subview of this view 
[viewContainingScrollView addSubview:overlayView]; 
[viewContainingScrollView bringSubviewToFront:overlayView]; 

[overlayView release]; 

画像ビューは、このようにレスポンダチェーン内の次のビューにタッチを渡し、デフォルトでタッチを無視します。これにより、スクロールビューまたはテーブルビューで、イメージビューで占められていた領域のタッチを拾うことができます。これ以上コードを記述する必要はありません。

あなたが本当に確認するには、しかし、あなたは、単に画像ビューにユーザーの操作を無効にする必要があります。

[overlayView setUserInteractionEnabled:NO]; 
関連する問題