Fügen Sie der Navigationsleiste eine weitere Schaltfläche hinzu

8

Ich ändere eine App und diese App hat einige Schaltflächen in der Navigationsleiste. Ich wollte eine weitere Schaltfläche oder ein Element der Symbolleiste hinzufügen, indem ich sie in die Hierarchie ziehe, aber es scheint, dass ich sie nicht als Kind hinzufügen kann Bar, ich wollte fragen, ob Sie irgendwelche Lösungen dazu haben, hier ist ein Schnappschuss der Hierarchie des Storyboards, ich möchte ein weiteres Bar Button Item oder einen anderen Button zum Navigationselement hinzufügen.
Vielen Dank

    
m0j1 17.11.2015, 18:19
quelle

3 Antworten

3

Scheint, dass Sie mit Interface Builder nur drei Elemente in der Navigationsleiste haben können und Sie müssen mehr Schaltflächen über den Code hinzufügen. Dieser Link funktionierte für mich:
Ссылка

    
m0j1 25.11.2015, 14:12
quelle
15

Also habe ich gerade ein leeres Projekt erstellt und ich kann das machen:

Ich habe auch schon mal so etwas gemacht, wo ich eigentlich ein UIButton anstelle eines Bar-Buttons verwende, um zusätzliche Anpassungsmöglichkeiten zu erhalten. Stellen Sie nur sicher, dass Sie eine Steckdose für die Schaltfläche und in der Ansicht Controller-Aufruf self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:self.customButton]; :

festlegen

Sie können mehrere Rechte-Schaltflächen-Elemente haben, und wenn sie den Titel überlappen (wenn Sie einen haben), dann sind sie im Wesentlichen abgeschnitten. Aus meiner Sicht können Sie so viele Tasten haben, wie Sie möchten, bis der Platz weg ist (was natürlich je nach Gerät variieren kann). Relevante Dokumente:

  

Dieses Array kann 0 oder mehr Elemente auf der Leiste enthalten, die auf der rechten Seite angezeigt werden   Navigationsleiste. Elemente werden von rechts nach links in derselben Reihenfolge angezeigt, in der sie im Array angezeigt werden. Daher ist das erste Element im Array das Objekt ganz rechts und andere Elemente werden links vom vorherigen Element hinzugefügt.

     

Wenn nicht genügend Platz vorhanden ist, um alle Objekte im Array anzuzeigen, werden die Objekte, die die Titelansicht (falls vorhanden) oder die Schaltflächen auf der linken Seite der Leiste überlappen, nicht angezeigt   angezeigt.

Ein Beispiel mit vielen Schaltflächen:

Programmatisch können Sie Schaltflächen hinzufügen mit:

navigationItem.rightBarButtonItems = [aButton, anotherButton, awesomeButton]

Stellen Sie nur sicher, dass Sie testen, dass das kleinste Gerät, das Sie als Ziel verwenden, dem Benutzer immer noch eine gute UX bietet, wenn Sie viele Schaltflächen hinzufügen.

    
Gordonium 17.11.2015 19:44
quelle
6

Hier ist die richtige Antwort für swift:

%Vor%     
Mehdi S. 18.07.2016 15:48
quelle

Tags und Links