Stworzyłem UITabBar i UITabBarItems bez UITabBarController na nim, teraz chcę wiedzieć, jak umieścić akcję na kliknięcie UITabBarItem.Co jest metoda, której powinienem użyć do działania na UITabBarItem?Jak utworzyć akcję dla elementu UITabBarItem?
Odpowiedz
Czy używasz kontrolera UINavigationController? Jeśli tak, to z aktywnego widoku kontrolera podklasy masz navigationItem i dodać przyciski do niej, np .:
- (void) viewWillAppear:(BOOL)animated;
{
[super viewWillAppear: animated];
UIBarButtonItem * leftButtonItem = [[[UIBarButtonItem alloc] initWithTitle: @"Don't Show Again" style: UIBarButtonItemStyleBordered target: self action: @selector(permanentlyCloseWelcomeView)] autorelease];
[[self navigationItem] setLeftBarButtonItem: leftButtonItem];
}
no ... nie używam żadnego kontrolera .. – suse
Nie można ustawić działanie na UITabBarItem
obiektu bezpośrednio. Zamiast kontroler widoku powinny realizować następujące UITabBarDelegate
metody:
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item;
Metoda ta jest wywoływana, gdy użytkownik wybierze kartę (tj UITabBarItem
).
to działało dla mnie, ale pamiętaj, aby ustawić delegata tabbar na "self" w viewdidload() – crackles
Jest lepsza metoda niż didSelectItem: dla każdego TabBarItem utworzyć czynność:
a następnie można korzystać z nowych działań:
[item1 setAction:@selector(pressItem1:)];
[item2 setAction:@selector(pressItem2:)];
[item3 setAction:@selector(pressItem3:)];
[item4 setAction:@selector(pressItem4:)];
-(void)pressItem1:(UITabBarItem *) item1 {<br/>
// Here comes your code which<br/>
// occurs after pressing item1.<br/>
}
To działa na mnie
używasz prywatnego API. Apple tego nie zaakceptuje. – user102008
Wygląda na to, że tak. Ita to prywatne API. – Dilshan
Można uciec z wykorzystaniem instancji UIToolbar i UIBarButtonItem zamiast? To może być bardziej proste.
toolBar = [[UIToolbar alloc] init];
newPlayerItem = [[UIBarButtonItem alloc] initWithTitle:@"+"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(newPlayer:)];
NSArray *toolBarItemsArray = [[NSArray alloc] initWithObjects:newPlayerItem, nil];
[toolBar setItems:toolBarItemsArray];
[toolBarItemsArray release];
- 1. Usuń UITabBarItem
- 2. Dodaj linię jako wskaźnik wyboru do elementu UITabbarItem w Swift
- 3. Jak wyłączyć akcję przesyłania
- 4. Jak usunąć spację pod UITabBarItem?
- 5. jak utworzyć akcję logowania punktu przerwania w xcode?
- 6. UITabBarItem Icon Animation
- 7. Jak ustawić akcję dla UIBarButtonItem w Swift
- 8. Jak ustawić akcję dla przycisku zamykania?
- 9. Jak ustawić akcję dla UIButton w UITableViewCell
- 10. Jak utworzyć pasek ładowania dla elementu audio HTML5?
- 11. Pozycja tytułowa UITabBarItem
- 12. Jak utworzyć akcję po wybraniu wiersza z NSTableView
- 13. Django: Jak utworzyć złożoną akcję administratora wymagającą dodatkowych informacji?
- 14. Utwórz nową akcję dla istniejącego kontrolera.
- 15. Jak utworzyć skrót do elementu menu (JMenuItem)?
- 16. Zmiana czcionki w UITabBarItem
- 17. Stosując tę samą akcję dla wielu duszków?
- 18. Jak usunąć błyszczące zaznaczenie na wybranym UITabBarItem w iOS?
- 19. Jak uzyskać tytuł UITabBarItem w sekcji Więcej?
- 20. Jak utworzyć instancję elementu XSD typu abstrakcyjnego?
- 21. Używanie CoreText i dotknięć, aby utworzyć klikalną akcję
- 22. Utwórz akcję dla komórki statycznej Kliknięto w UITableView
- 23. Czy można dostosować znacznik UITabBarItem?
- 24. Producent: wykonać akcję dla każdego warunków wstępnych
- 25. Dostosuj rails_admin usuń akcję dla określonego modelu
- 26. Jak wywołać click() dla elementu?
- 27. Jak przekazać akcję komponentowi React
- 28. jak zablokować akcję asp.net mvc?
- 29. UITabBarItem finishedImageSelected umieszczone przesunięcie paska kart
- 30. Jak utworzyć N elementów określonego elementu w języku C#?
Zgodnie z wytycznymi interfejsu ludzkiego, paski na karty służą do przełączania widoków. Czy na pewno nie chcesz korzystać z paska narzędzi? –