iOS 4.3で透明としてレンダリングされるデフォルトのステータスバーを置き換えるために使用しているpng画像の透明ビットを取得するのに、いくつかの問題があります。現時点では、彼らは黒くなっています。
画像の描画に使用しているコードは次のとおりです。
@implementation UINavigationBar (BackgroundImage)
- (void)drawRect:(CGRect)rect
{
UIImage *image = nil;
switch(self.tag)
{
case HeaderBG_Logo:
image = [UIImage imageNamed: @"top_bar_logo.png"];
break;
case HeaderBG_Plain:
image = [UIImage imageNamed: @"top_bar.png"];
break;
}
if(image != nil)
{
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
}
@end
これは、ios4.3とios5のシミュレーターで実行されている同じアプリを並べて比較したものです(画像の下部の境界線にドロップシャドウがあります)。
余談ですが、4.3の背景画像も5.0の画像ほど高くレンダリングされていないようです。
UINavigationBar
を不透明に設定/背景色をに設定してみましたclearColor
。それはどれもうまくいきませんでした。:(
誰か助けてもらえますか?