私は最近、UITableViewCells を使用したスクロール パフォーマンスの改善に関する素晴らしい記事を見つけました。記事の中で、特に私が興味をそそられたものがあります。
Twitter for iPhone 4.0 のツイートには、微妙なテクスチャ背景の上にドロップ シャドウが表示されます。ブレンドには費用がかかるため、これは課題でした。セルのコンテンツ領域からシャドウ領域を分割することで、Core Animation が不透明でないと見なす領域を減らすことで、これを解決しました。
iOS シミュレーターを使用して、[デバッグ] - [カラー ブレンド レイヤー] をクリックすると、次のように表示されます。
赤でマークされた領域はブレンドされ、緑の領域は不透明です。偉大な。この記事で言及されていないのは、次のことです。これを実装するにはどうすればよいですか? UIView が不透明であるかどうかは、私の理解です。これを達成する唯一の方法はサブビューを使用することだと私には思えますが、記事では単純な実装であると明示的に述べています:
代わりに、Tweet セルにはサブビューのない単一のビューが含まれています。単一の drawRect: すべてを描画します。
では、不透明なものと、単一の drawRect: メソッドにないものをどのように切り離すのですか?