Domyślnie na pasku UITabbar znajduje się błyszczące wyróżnienie wybranego elementu UITabBarItem.Jak usunąć błyszczące zaznaczenie na wybranym UITabBarItem w iOS?
Czy można usunąć błyszczącą maskę podświetlania?
Dzięki.
Domyślnie na pasku UITabbar znajduje się błyszczące wyróżnienie wybranego elementu UITabBarItem.Jak usunąć błyszczące zaznaczenie na wybranym UITabBarItem w iOS?
Czy można usunąć błyszczącą maskę podświetlania?
Dzięki.
[[UITabBar appearance] setSelectionIndicatorImage:[UIImage {anImage}]]
to ma wpływ na każdą im zakładkami używasz (nawet podklasy nich)
Jeśli używasz tutaj obraz, który ma taki sam kolor jak tło swojej umieszczenie zakładek, przyzwyczajenie zobaczyć wskaźnika.
Być może można nawet użyć pełnego przezroczystego obrazu lub obrazu o 1px * 1px.
Jeśli dostosowujesz elementy paska tabulacji do niestandardowych obrazów, możesz zrobić coś takiego. Spersonalizowałem elementy paska kart, dodając obraz tła do paska kart ze wszystkimi rysowanymi kartami, jedną kartą w wybranym stanie i innymi w stanie niezaznaczonym. W każdym didSelectViewController zmieniam obraz tła. Niż przynoszę widok obrazu tła na wierzch i dodam własne etykiety z wymaganym tytułem.
Wynik: Mam dostosowany pasek kart bez efektu połysku. Interesujące jest to, że UITabBarButtons są pod obrazem tła, ale nadal można je wybierać.
Kod jest coś takiego:
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
[self customizeTabBar];
}
- (void)customizeTabBar {
NSString *imageName = [NSString stringWithFormat:@"tabbg%i.png", tabBarCtrl.selectedIndex + 1];
for(UIView *view in tabBarCtrl.tabBar.subviews) {
if([view isKindOfClass:[UIImageView class]]) {
[view removeFromSuperview];
}
}
UIImageView *background = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:imageName]] autorelease];
[tabBarCtrl.tabBar insertSubview:background atIndex:0];
[tabBarCtrl.tabBar bringSubviewToFront:background];
//if needed, here must be adding UILabels with titles, I didn't need it.
}
Może zainteresuje Cię o tym :)
gdzie powinienem dodać ten kod? – chatur
w tym UIViewController
Wielkie dzięki Mitya .. !! – chatur
[[UITabBar appearance] setSelectionIndicatorImage:[[UIImage alloc] init]];
działa jak marzenie!
Ktoś powinien oznaczyć to jako poprawne. <3 –
Doskonała odpowiedź, ale należy pamiętać, że wpłynie to na WSZYSTKIE UITABBary, nawet te, które są podklasami. –
Według Apple's Dokumentacji można wdrożyć:
(void)setFinishedSelectedImage:
(UIImage *)selectedImage withFinishedUnselectedImage:
(UIImage *)unselectedImage
który jest sposobem UITabBar
Zastosowanie http://ioscodesnippet.tumblr.com/post/9247898208/creating -a-placeholder-uiimage-dynamicznie-z-kolorem, aby stworzyć czysty obraz. Działa świetnie. – nh32rg