2013-07-01 11 views
13

Używam storyboardów w mojej aplikacji, a jeśli ustawię właściwość title klasy ViewController, ten ciąg pojawi się jako tekst mojego przycisku Wstecz po naciśnięciu kontrolera SecondViewController, jak czy mogę to zmienić ?, chcę ustawić inny tytuł przycisku wstecz.Ustaw tytuł elementu paska z powrotem w ios

Użyłem tego, ale to nie działa:

UIBarButtonItem *btnBack = [[UIBarButtonItem alloc] 
            initWithTitle:@"Back" 
            style:UIBarButtonItemStyleBordered 
            target:self 
            action:nil]; 
    [self.navigationItem setBackBarButtonItem: btnBack]; 

pomóż mi

Odpowiedz

48

Spróbuj tego,

Objective-C:

UIBarButtonItem *btnBack = [[UIBarButtonItem alloc] 
          initWithTitle:@"Done" 
          style:UIBarButtonItemStyleBordered 
          target:self 
          action:nil]; 
self.navigationController.navigationBar.topItem.backBarButtonItem=btnBack; 

Swift:

var btn = UIBarButtonItem(title: "Done", style: .Plain, target: self, action: "backBtnClicked") 

self.navigationController?.navigationBar.topItem?.backBarButtonItem=btn 
+0

bardzo dziękuję – CarinaM

+0

Dlaczego to działa, ale kod nie próbował? – Nick

+1

@Nick Ustawienie self.navigationItem nie będzie działać. Powinien ustawić backBarButtonItem na poprzedni viewPontroller element navigationItem. Ta odpowiedź działa tylko za pierwszym razem 'viewWillAppear', ponieważ' navigationBar.topItem' nadal wskazuje na 'previousViewController.navigationItem'. Po pierwszym wyświetleniu viewWillAppear powinna zostać ustawiona wartość 'backItem'. Proszę sprawdzić [moja odpowiedź] (http://stackoverflow.com/a/25680043/111277). – situee

0

Spróbuj zmienić tytuł pierwszego kontrolera widoku gdzie naciśnięciu drugi kontroler widoku i ustaw kreska do starego, kiedy wyskoczysz.

-2

Spróbuj tego:

UIBarButtonItem *btnBack = [[UIBarButtonItem alloc] 
             initWithTitle:@"Back" 
             style:UIBarButtonItemStyleBordered 
             target:self 
             action:@selector(backButtonClicked:)]; 
     [self.navigationItem setLeftBarButtonItem: btnBack]; 


    -(void)backButtonClicked:(UIBarButtonItem*)sender 
    { 
     //do ur stuff 
    } 
12

Podczas korzystania obrazkowa można zmienić tekst z lewego przycisku paska pozycji aka b przycisk potwierdzenia bez kodu. Oczywiście będziesz potrzebować UINavigationController w swojej Storyboard, dzięki czemu będziesz miał możliwość popychania i pop-viewów.

  1. Wybierz punkty obiekt nawigacyjny dla kontrolera widoku źródła
  2. wprowadzić tekst do pleców opcji przycisku w widoku inspektora po prawej stronie.

Następnie, gdy widok jest wypychany z tego widoku, użyje tego zestawu tytułów.

enter image description here

+0

Dziękuję bardzo! To naprawdę mi pomogło! – Subby

1

Ustaw backBarButtonItem do navigationItem poprzedniego viewController. Ustawienie topItem działa tylko przy pierwszym uruchomieniu viewWillAppear. Proszę sprawdzić ten post do szczegółów: iOS Set Navigation Bar Back Button Title

NSArray *viewControllerArray = [self.navigationController viewControllers]; 
// get index of the previous ViewContoller 
long previousIndex = [viewControllerArray indexOfObject:self] - 1; 
if (previousIndex >= 0) { 
    UIViewController *previous = [viewControllerArray objectAtIndex:previousIndex]; 
    previous.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] 
                initWithTitle:backButtonTitle 
                style:UIBarButtonItemStylePlain 
                target:self 
                action:nil]; 
} 
Powiązane problemy