2014-09-17 11 views
19

Istnieją 2 Zobacz Kontrolery w moim storyboard, VC_A i VC_BNawigacja nie Bar wybierane w Show Segue, Xcode 6.1

Mam osadzone kontroler nawigacyjny w VC_A który jest Table View Controller Następnie kontroluję przeciąganie komórki prototypowej do VC_B, aby utworzyć przejście. Jeśli wybiorę "show" w "segregacji selekcji", wówczas mogę zobaczyć kontur paska nawigacji, ale nie mogę go wybrać ani dodać do niego żadnych przycisków paska, ale także nie pojawia się w widoku hierarchicznym.

view

Jednak jeśli wybiorę opcję "push (deprecated)" Wybierając rodzaj segue, jestem w stanie wybrać pasek nawigacji w VC_B i dodać przyciski do niego, ale także pojawiają się w widoku hierarchicznym, jak element nawigacyjny.

Jedynym obejść znajdę to wybrać show, a następnie zmienić segue do push(deprecated) w atrybucie Inspektora więc Element nawigacji pojawi się w widoku hierarchicznym, a następnie zmienić segue powrotem do show. Ale obawiam się, że może to spowodować problemy w dalszej części.

Czy istnieje sposób dodania przycisku paska do paska nawigacyjnego VC_B bez korzystania z pracy?

+1

W tym samym numerze. Nie przepracuj się. Chociaż możesz zacząć od push (przestarzałe), a następnie przejść do show. – dar512

Odpowiedz

3

W swojej viewController:

self.navigationItem.title = "Second VC" 
self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Play, target: self, action: "playFunction:") 

enter image description here

+0

Myślę, że chodzi o to, że chcą zachować te rzeczy w scenorysie. – Daniel

12

Wystarczy przeciągnąć „Obiekt nawigacji” z biblioteki obiektów na pasku nawigacyjnym i powinien działać zgodnie z oczekiwaniami. Można dokonać zmian, jak chcesz i działa dokładnie tak samo jak w Xcode 5.

+0

Wydaje się, że nie działa to dla mnie w Xcode 6.1.1. – Myxtic

+0

To się zgadza. W przypadku klas wielkości element nawigacji nie jest automatycznie dodawany do kontrolera widoku, nawet jeśli pochodzą one z kontrolera, który jest kontrolerem widoku głównego kontrolera nawigacyjnego. Nie sądzę, że to błąd. Wspomniany kontroler może lub nie może być prezentowany z kontrolera nawigacyjnego (sprawdzenie klasy wielkości). – Daniel

6

Co ciekawe, kiedy po raz pierwszy wykonane połączenie b/w swojej Table View kontrolera i widoku kontrolera użyciu push można rozpocząć edycja paska nawigacyjnego bez problemu (np. umieścić na nim elementy paska).

Następnie usunąć połączenie między Table View kontrolera i widoku kontrolera (ale nie usuwaj elementy pasku nawigacyjnym po prostu dodane), a następnie ponownie podłączyć dwa kontrolery za pomocą segue Pokaż, pokochasz zobacz pasek nawigacyjny działa tak jak teraz: Naciśnij teraz.

Nadzieja pomaga

+0

To jest dobre rozwiązanie, z wyjątkiem tego, że nie musisz niczego usuwać, tylko rób "[Przestarzały] Push' segue, a następnie zmień go na nowy" Show ". –

6

Myślę, że sposób to zrobić (przechodząc przez nieaktualnych naciśnięciem) nie jest źle, chociaż istnieje inny sposób. W rzeczywistości, gdy przekierujesz Segue do pchania, otrzymujesz z niego element nawigacyjny.

Więc wszystko co musisz zrobić, to dodać element Nawigacja do widoku kontrolera i że będziemy rade:

enter image description here

3

Wydaje błędy Xcode.

W moim przypadku, jestem ponownie utworzyć segue według tej kolejności:

  1. usunąć istniejące seque. (Używam "Akcja segue - show")
  2. Drag nowy segue z "nieadaptacyjny działania Segue - Push (przestarzałe)"
  3. Delete segue No.2
  4. Ponowne utworzenie/connect „Akcja Seque - Pokazać". (Nr 1)
  5. Sporządzono

Teraz mogę edytować tytuł nawigację i dodać przycisk niestandardowy punkt nawigacyjny jak zwykle.

Używam Xcode 6.4 i minimalnej wersji docelowej iOS 7. 7.

Powiązane problemy