私はdrawRectをオーバーライドして、透明度をバックグラウンドとしてpngを提供するサブクラス化されたUINavigationBarを持っています。すべてのものが期待どおりに動作し、バーの上部に1ピクセルのスペースを確保します(スペース内を移動する基になるマップを見ることができます)。カスタムUINavigationBarは、先頭に1ピクセルオフセットされています。
私は見つけることができた唯一の事は私の問題のように聞こえるが、私は説明を作るかわからない、この質問です:私は、PNGファイルがないことを確認したEmpty space of 1 pixel above UINavigationBar
画像の上部に1ピクセルの透明度を持たない。
サブクラスUINavigationBarに上書き:任意の助け
- (void)drawRect:(CGRect)rect {
[_bg drawInRect:CGRectMake(0, 0, _bg.size.width, _bg.size.height)];
// showing correct bounds - drawRect: 0.000000, 0.000000, 320.000000, 85.000000
NSLog(@"drawRect: %f, %f, %f, %f", rect.origin.x,
rect.origin.y,
rect.size.width,
rect.size.height);
}
- (CGSize)sizeThatFits:(CGSize)size {
CGRect frame = [[UIScreen mainScreen] applicationFrame];
CGSize sz = CGSizeMake(frame.size.width, _bg.size.height);
NSLog(@"sizefits");
return sz;
}
ありがとう!
あなたが24/32ビットのPNG画像または8ビット1を使用しましたか? –
こんにちは、彼は応答のおかげで。私はダブル検証し、それは32ビットです。何か案は? – Matt