Po przejściu do dowolnego widoku w aplikacji z zaimplementowanym kontrolerem nawigacji, wyświetla przycisk Wstecz, aby przejść do poprzedniego widok. Czy istnieje sposób, w jaki mogę użyć niestandardowego obrazu zamiast domyślnego?Jak mogę wyświetlić niestandardowy obraz w pasku tylnym przycisku nawigacyjnego zamiast domyślnych przycisków, które są wyświetlane na pasku nawigacji?
Odpowiedz
Tak, można.
można kontrolować sposób standardowy przycisk z powrotem będzie wyglądać, gdy inny kontroler widoku jest popychany na szczycie danego kontrolera widoku przez ustawienie jego elementu nawigacyjnego bar z powrotem element przycisk (można dostosować tytuł lub użyć obrazu):
UIBarButtonItem *btn = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:nil action:nil];
self.navigationItem.backBarButtonItem = btn;
[btn release];
UIBarButtonItem *btn = [[UIBarButtonItem alloc] initWithImage:yourImage style:UIBarButtonItemStyleBordered target:nil action:nil];
self.navigationItem.backBarButtonItem = btn;
[btn release];
Uwaga: skonfigurować to w „macierzystym” kontrolera widoku, który może mieć inne kontroler (e) pchnął na wierzchu. Konfiguracja odbywa się w "nadrzędnym", a wygląd przycisku wstecz zmienia się, gdy jakiś kontroler widoku jest na górze. Kliknięcie przycisku Wstecz powoduje powrót zgodnie z oczekiwaniami.
Można również tworzyć własne UIBarButtonItem i ustawić go jako leftButtonItem na pasku nawigacyjnym po regulatora prądu Widok:
UIBarButtonItem *btn = [[UIBarButtonItem alloc] initWithImage:yourImage style:UIBarButtonItemStyleBordered target:self action:@selector(yourMethod:)];
self.navigationItem.leftBarButtonItem = btn;
[btn release];
Uwaga: w tym przypadku, z tyłu/lewy pasek element przycisku został zmieniony dla bieżącego kontrolera widoku (gdy jest na górze). Musisz wdrożyć metodę yourMethod:
. Jeśli po prostu chcesz, aby przycisk powrócił, musisz poradzić sobie z poppingiem kontrolera widoku, dzwoniąc pod numer [self.navigationController popViewControllerAnimated:YES];
.
Stwierdziłem, że żadne z rozwiązań faktycznie nie rozwiązało BACK UIBarButton, a także zapewniło jego ukryte zachowanie, jeśli kontrolerem widoku jest root.
-(void)popViewControllerWithAnimation {
[self.navigationController popViewControllerAnimated:YES];
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
if([self.navigationController.viewControllers objectAtIndex:0] != self)
{
UIButton *backButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 26, 26)];
[backButton setImage:[UIImage imageNamed:@"back"] forState:UIControlStateNormal];
[backButton setShowsTouchWhenHighlighted:TRUE];
[backButton addTarget:self action:@selector(popViewControllerWithAnimation) forControlEvents:UIControlEventTouchDown];
UIBarButtonItem *barBackItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
self.navigationItem.hidesBackButton = TRUE;
self.navigationItem.leftBarButtonItem = barBackItem;
}
}
To prawie działa jak przycisk Wstecz. Z wyjątkiem animacji przejścia (po dotknięciu przycisku i wyświetleniu bieżącego widoku nawigacja po prawej).
Właściwy sposób polega na utworzeniu kategorii.
@interface UINavigationBar (MyNavigationBar)
-(void)drawRect:(CGRect)rect;
@end
@implementation UINavigationBar (MyNavigationBar)
-(void)drawRect:(CGRect)rect {
UIImage *image = [UIImage imageNamed:@"....."];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
- 1. Jak wyświetlić niestandardowy widok w pasku akcji?
- 2. Pozycje menu, które nie są wyświetlane w pasku menu
- 3. Obraz przycisku paska nawigacji
- 4. Jak dodać UIView na pasku nawigacji?
- 5. Przycisk Akcja przycisku nawigacyjnego i wzorzec nawigacji
- 6. Jak mogę umieścić przycisk "info" na pasku nawigacji iPhone'a?
- 7. Zapobieganie animacji po kliknięciu przycisku "Wstecz" na pasku nawigacji?
- 8. Niestandardowy obraz tła na pasku UIToolbar w pakiecie IOS5 SDK
- 9. Jak wyświetlić obraz na pasku narzędzi za pomocą Objective-C
- 10. obraz dla przycisku nawigacyjnego item swift
- 11. Przewijanie menu na pasku nawigacji Bootstrap
- 12. Wybór koloru rozdzielacza na pasku przycisków
- 13. Jak mogę wyświetlić moją usługę systemu Windows na pasku zadań?
- 14. Jak rozwinąć listę nawigacji w pasku akcji?
- 15. Kolor przycisku na pasku nawigacyjnym - iPhone
- 16. Przycisk "zamknij" materiał w pasku narzędzi zamiast przycisku Wstecz
- 17. Jak wyświetlić logo na pasku adresu?
- 18. Logo nie są wyświetlane w pasku czynności, za pomocą AppCompat
- 19. Niestandardowy kod skrótu w pasku nawigacyjnym Wordpress
- 20. Jak dodać przycisk paska w pasku nawigacyjnym bez kontrolera nawigacyjnego.
- 21. Jak zmienić tekst BarButtonItem na pasku nawigacyjnym?
- 22. Jak mogę wyśrodkować linki na pasku nawigacyjnym Twitter-Bootstrap 3?
- 23. Więcej niż 3 elementy w dolnym pasku nawigacji Android
- 24. Dodawanie przycisków powyżej karty Powiadomienia na pasku stanu
- 25. Ustawianie gradientu zarówno na pasku nawigacyjnym, jak i na pasku stanu
- 26. pasek wyszukiwania zmienia kolor w pasku nawigacyjnym
- 27. Magento: Jak wyświetlić opis kategorii na lewym pasku bocznym?
- 28. Cel C: Jak zmienić kolor tekstu w pasku nawigacyjnym
- 29. Jak wyświetlić ikonę strony rozszerzenia rozszerzenia Chrome na pasku adresu?
- 30. Wyświetlanie formularza użytkownika programu Excel jako przycisku na pasku zadań