Uyguladığım delege'nin didFinishLaunchingWithOptions işlevinde, gezinme çubuğumun görünümünü özelleştirmeye çalışıyorum.UINavigationBar için opak 1px yüksek gölge görüntüsü nasıl ayarlanır?
[UINavigationBar appearance].translucent = NO;
[[UINavigationBar appearance]
setBackgroundImage:[UIImage
imageWithColor:[UIColor whiteColor]
size:CGSizeMake(1.0f, 1.0f)
]
forBarMetrics:UIBarMetricsDefault
];
[UINavigationBar appearance].shadowImage = [UIImage
imageWithColor:[UIColor redColor]
size:CGSizeMake(0.5f, 0.5f)
];
1px boyunda opak kırmızı bir gölge bekliyorum. Bunun yerine 2px boyunda yarı saydam kırmızı bir gölge verdim. Tam olarak istediğim gibi görünmesini nasıl sağlayabilirim? Benzer görünüm ayarlarını UITabBar'a yaptım. Öte yandan, güzel davranır. Dinamik görüntüler oluşturur
kategori işlevi böylece olarak tanımlanır:
+ (UIImage*)imageWithColor:(UIColor *)color size:(CGSize)size
{
CGRect rect = CGRectMake(0.0f, 0.0f, size.width, size.height);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
sadece CALayer bir gölge ekleyerek içine baktım
İşte tam kodu? http://stackoverflow.com/questions/805872/how-do-i-draw-a-shadow-under-a-uiview – cmyr
@cmyr '[UINavigationBar görünümü] .layer.borderWidth = 0.5f; [UINavigationBar görünüm] .layer.borderColor = [UIColor redColor] .CGColor; 'gezinme çubuğunun altında hiçbir şey göstermiyor. – Pwner
, katmanın clipToTounds değerini NO olarak ayarladınız mı? – cmyr