webentwicklung-frage-antwort-db.com.de

Wie wird der Titel der Navigationsleiste im Storyboard festgelegt?

Ich kann das trotz meiner Bemühungen nicht lösen. Ich habe hier auch die Apple-Dokumentation und einige verwandte Fragen konsultiert und habe immer noch eine mentale Blockade.

Mit Xcode 6 habe ich einen Tabellensicht-Controller in einen Navigations-Controller eingebettet und konnte den Titel der Navigationsleiste im Tabellensicht-Controller festlegen, aber nicht in den beiden View-Controllern, die über Segmente mit der Tabellensicht verbunden sind.

Ich habe gedacht, es gibt eine Navigationsleiste auf diesen beiden Ansichtscontrollern, da sie, nachdem ich den Tabellenansichtscontroller in den Navigationscontroller eingebettet habe, mein oberstes Textfeld in beiden blockiert hat. Ich habe das neu positioniert, damit es kein Problem ist, aber im Storyboard kann ich immer noch nicht in die Navigationsleiste klicken, um einen Titel hinzuzufügen. Nachdem ich jetzt eine Navigationsleiste manuell hinzugefügt habe, um sie zu testen, kann ich das sehen Es gibt nur eine Navigationsleiste in der Dokumentenübersicht.

Müssen Sie also einfach den Titel der Navigationsleiste programmgesteuert oder mit einem IBOutlet oder ähnlichem festlegen? Scheint nicht so, als könntest du im Storyboard darauf klicken.

17
cheznead

Ich bin mir ziemlich sicher, dass dies ein Fehler in xCode ist ... Ich habe das gleiche Problem erlebt und die meiste Zeit wurde es durch einen Neustart von xCode behoben.

** Außerdem können Sie es möglicherweise lösen, indem Sie Folgendes tun:

Ziehen Sie ein Navigationselement aus dem Objektfenster in den Viewcontroller oder den TableView-Controller. Das schien für mich zu funktionieren. Ich habe bemerkt, dass der Navigationsbereich im "Dokumentgliederungsfenster" fehlte.

Ich hoffe das hilft.

32
rckehoe

Ich hatte das gleiche Problem. Was für mich funktionierte, war die Auswahl des Controllers, für den ich den Titel nicht festlegen konnte. Klicken Sie auf Editor -> Einbetten in -> Navigationscontroller.

Dann sollten Sie den Titel bearbeiten können und wenn Sie fertig sind, den Navigationscontroller löschen und die beiden ursprünglichen Controller erneut verbinden.

Der zuvor eingebettete Bildschirm sollte jetzt den zuvor erstellten Titel enthalten.

5
Hutch

Versuchen Sie, den Titel programmgesteuert festzulegen -> self.navigationItem.title = @ "REGISTER"; 

5
Yakir Sayada

Ich hatte das gleiche Problem, als ich Apple's Swift Guid folgte. Das Doppelklicken auf die "Navigationsleiste" hat nichts für mich getan. Wie ich es gelöst habe: 

1: Wählen Sie im Dokumentgliederungsfenster das "Navigationselement" aus.

2: Öffnen Sie den Attribute-Inspector.

3: Wählen Sie das Titelfeld aus und schreiben Sie stattdessen den Titel hier.

4
tsson

platzieren Sie dies für Ihre Vorbereitung: [Segue.destinationViewController setTitle: @ "New Task"];

2
Dennis Hansen

Verwenden Sie beim Einbetten von Controllern unbedingt ein Beziehungssegment und kein manuelles Segue.

1
kumpri

Keine der Antworten funktionierte für mich.

Das hat funktioniert:

  1. Nav-Verbindung löschen 
  2. Ziehen Sie eine neue Nav-Verbindung mit gedrückter Strg-Taste
  3. Stellen Sie eine Showverbindung her
  4. Jetzt können Sie den Titel bearbeiten
  5. Lösche die Nav-Verbindung erneut
  6. Erstellen Sie den ursprünglichen Nav-Verbindungstyp erneut

Es scheint, dass dies in der Tat ein Fehler in IB ist ????

1
eonist

Aktualisieren Sie dieses Problem, wenn jemand anderes es benötigt:

  1. Machen Sie einen Wechsel zwischen ViewControllers
  2. Wählen Sie die Option Art als Anzeigen (z. B. Push).
  3. Dann ändern Sie diese Art Option auf einige veraltete - ex. drücken
  4. Jetzt können Sie Ihre Text- und Navigationselemente vom Storyboard aus bearbeiten
  5. Denken Sie daran, die Kind-Option erneut zu ändern.
1
xxcat

Sie können stattdessen auch die "title" -Eigenschaft des View-Controllers festlegen, wodurch automatisch der Titel eines Navigations- oder Registerkartenelements festgelegt wird.

Wenn Sie den Ansichts-Controller im Storyboard auswählen, können Sie den Titel unter "Ansicht-Controller" im Attribut-Inspektor (Xcode 9) festlegen:

 enter image description here

0
sohelpme

Verbinden Sie Ihr Navigationselement mit Ihrer Klasse (d. H. UIViewController) und greifen Sie programmgesteuert auf den Titel zu, indem Sie Folgendes in Ihre viewDidLoad schreiben:

navigationItem.title = "whateverTextHere"
0
Ade