Wie kann ich UINavigationBar
ohne XIB 2 Schaltflächen hinzufügen ?
Die 2 Tasten sollten auf der rechten Seite des ausgerichtet sein UINavigationBar
.
Ich weiß, wie ich eine Schaltfläche hinzufügen kann, aber wie wäre es mit zwei?
ios
uinavigationcontroller
uibutton
Alexander
quelle
quelle
Ich habe Code (siehe unten) gepostet , um zwei Schaltflächen rechts von der Navigationsleiste hinzuzufügen. Sie können
barStyle = -1
anstelle von Unterklassen festlegenUIToolbar
.quelle
tools.barStyle = -1
Zeile: Ohne diese gibt es einige visuelle Artefakte, wenn Sie UIBarStyleBlack mit translucent = YES verwenden. (Die Hintergrundfarbe stimmt nämlich nicht mit der der Navigationsleiste überein.) Ist das eine undokumentierte Funktion? Wenn ja, ist dieser Code etwas zerbrechlich. Ich habe das nirgendwo in den Dokumenten gesehen.Sie können eine mit einer Symbolleiste initialisierte Balkenschaltfläche als benutzerdefinierte Ansicht verwenden.
Würde so etwas geben:
Hinweis: Diese Antwort ist für iOS 6 oder höher veraltet
quelle
Hier ist das Arbeitsbeispiel aus meinem aktuellen Projekt:
quelle
quelle
Schnell:
Methoden für Schaltflächen:
quelle
SCHNELL
Sie können in tun swift wie diese
quelle
Sie können eine UIView erstellen und dieser Schaltfläche zwei Schaltflächen hinzufügen. Und füge das UIView als rechten Button hinzu :)
quelle
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView: rightItem];
(Vollständiges Arbeitscode- Beispiel unten [von mir])Die Prakash-Antwort funktioniert auch im Interface Builder.
Ziehen Sie ein
UIView
in dasUINavigationItem
, dann können Sie mehrereUIButton
als untergeordnete Elemente davon einfügenUIView
und eine Hierarchie wie folgt erstellen:Stellen Sie die Hintergrundfarbe von ein
UIView
, um die Schaltflächen zu löschen, und fügen Sie einige Einschränkungen hinzu, um die Schaltflächen vertikal zu zentrieren und die horizontale Position festzulegen. Hier ist das Ergebnis, das ich mit der Codezeile Null erhalten habe:quelle
In SWIFT können Sie diesen Code hinzufügen, um zwei Schaltflächen auf der rechten (oder linken) Seite einzurichten:
quelle
Ab iOS 5 ist dies leicht zu erreichen. UINavigationItem kann mehrere Schaltflächen auf der linken und rechten Seite der Leiste haben.
http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UINavigationItem_Class/Reference/UINavigationItem.html#//apple_ref/occ/instm/UINavigationItem/setRightBarButtonItems:animated :
quelle
Hier ist der Swift 4-Code:
quelle
Sie müssen nicht zwei Schaltflächen hinzufügen. Sie müssen nur hinzufügen
nicht
und einen Knopf, so dass es auf der rechten Seite ist.
So was:
quelle
quelle
Falls jemand wie ich hierher kommt und nach einer MonoTouch-Antwort sucht, ist das
NavigationItem.RightBarButtonItems
Array genau das Richtige für Sie .quelle
in SWIFT:
(Angenommen, Sie haben einen Navigations-Controller.) Verwenden Sie im Root-Controller diesen Code:
links: ..
richtig:
..
wo:
quelle
quelle