używałem następujący kod, aby mój Pasek nawigacyjny przejrzyste iOS5:Nie można dokonać Navigation Bar całkowicie przezroczysty w iOS6
const float colorMask[6] = {222, 255, 222, 255, 222, 255};
UIImage *img = [[UIImage alloc] init];
UIImage *maskedImage = [UIImage imageWithCGImage: CGImageCreateWithMaskingColors(img.CGImage, colorMask)];
[self.navigationController.navigationBar setBackgroundImage:maskedImage forBarMetrics:UIBarMetricsDefault];
Aktualizacja do iOS6 oraz pasek nawigacji jest jeszcze przezroczysta, ale teraz ma cienki czarny linia pod nim. Jak mogę uczynić pasek nawigacji całkowicie przezroczystym?
Próbowałem również wszystkie z poniższych kryteriów:
self.navigationController.navigationBar.translucent = YES;
self.navigationController.navigationBar.opaque = YES;
self.navigationController.navigationBar.tintColor = [UIColor clearColor];
self.navigationController.navigationBar.backgroundColor = [UIColor clearColor];
[self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setBarStyle:UIBarStyleBlackTranslucent];
[[UINavigationBar appearance] setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
Z góry dzięki.
Czy to możliwe, że maska obraz nie jest całkowicie objęciem wysokość paska, to pozostawiając czarny „przestrzeń”, gdzie UINavigationBar nie dość przyjść równo z widzenia? – CodaFi
Rozwiązany. iOS6 dodał cień do paska nawigacyjnego. Tak więc kod maskowania, którego używałem z iOS5 nadal działa dobrze - po prostu muszę dodać, jeśli ([self.navigationController.navigationBar odpowiadaToSelector: @selector (shadowImage)]) { [self.navigationController.navigationBar setShadowImage: [[UIImage alloc ] w tym]]; } aby pozbyć się cienia. –