UINavigationBar の色を任意の単色に変更したいと考えています。IB では、Background および Tint プロパティに単色を追加しました。ただし、バーのすぐ下に影があります。UINavigationBar をサブクラス化せずに削除するにはどうすればよいですか? そうでない場合、それをサブクラス化する方法は?
質問する
462 次
2 に答える
0
UINavigationBar を次のようにサブクラス化することになりました。
#import <UIKit/UIKit.h>
@interface MyNavigationBar : UINavigationBar <UINavigationBarDelegate> {
}
@end
そして、.Mファイル内でこれを上書きしました
- (void)drawRect:(CGRect)rect {
UIColor * color = [UIColor colorWithRed:255/255.0f green:255/255.0f blue:255/255.0f alpha:1.0f];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColor(context, CGColorGetComponents( [color CGColor]));
CGContextFillRect(context, rect);
}
注: 何らかの理由で [UIColor whiteColor] を使用できませんでした。デフォルトで黒に設定されていたため、代わりに colorWithRed:green:blue: を使用することになりました。
それは私にとってはうまくいきました。
于 2013-02-05T19:01:05.690 に答える
0
UINavigationBar の shadowImage を [[UIImage alloc] init] に設定して、影を削除できます。ただし、これは iOS 5.0 以降でのみ機能します。
于 2013-02-06T06:25:16.687 に答える