4

Interface Builder で UIImageView にボールを割り当てました。UIImageView からの IBOutlet は、対応する UIViewController に接続されます。画像の背景は白です。IB で UIImageView に割り当てると、背景が透明になります。IB では、UIImageView を透明な背景とアスペクト フィルに設定しています。

実行時に UIImageView に画像を割り当てると:

self.ball.image = ballImage; //ballImage is a UIImage
self.ball.backgroundColor = [UIColor clearColor];
self.ball.contentMode = UIViewContentModeScaleAspectFill;

UIImageView の正方形には、ボールが表示されない白い背景があります。四隅すべてを意味します。IB バージョンでは実行時に白い背景が表示されず、プログラム バージョンでは表示される違いは何ですか?

4

2 に答える 2

2

プログラムで背景を削除する必要がある場合は、「ビットマップ イメージとイメージ マスク」ガイドを参照してください。この点については他に考えがありません...CGImageCreateWithMaskingColorsを使用するだけです。

*.PNG (または任意のグラフィック リソース ファイル) に組み込みの透明度 (白い背景のみ) がなく、IB を使用すると透明に見える場合 - UIImageView のアルファプロパティが 1 未満で、部分的に透明な画像が表示される場合があります。 .

于 2009-06-14T00:38:53.790 に答える