Ich habe die Höhe der UINavigationBar auf 100px angepasst und möchte gerne Schaltflächen in diesen benutzerdefinierten Balken einfügen.
Alles ist gut, außer der Button scheint auf dem Boden der Navigationsleiste zu sitzen, egal was passiert. Ich kann es nicht auf die Mitte oder den oberen Rand der Navigationsleiste ausrichten.
Hier ist der Code; Zuerst erstelle ich im App-Delegate einen Navigationscontroller und füge rechts eine Schaltfläche hinzu.
%Vor%dann ändere ich die Größe der Navigationsleiste im "temp" View Controller wie folgt:
%Vor%Ich habe auch versucht, eine benutzerdefinierte Ansicht zum rightBarButtonItem hinzuzufügen, aber ich kann die hinzugefügte benutzerdefinierte Ansicht nicht vollständig oben berühren.
Und der Code für diesen unglücklichen Versuch:
%Vor%Kann jemand UIBarButtonItems in einer UINavigationBar vertikal ausrichten?
Option 1:
- (void)layoutSubviews
, wo Sie UIBarButtonItems Beispiel:
innerhalb der Unterklasse von UINavigationBar:
%Vor%view controller:
%Vor%Option 2 (das Einfügen von UIBarButtonItem funktioniert nicht):
%Vor% Die aktuell akzeptierte Antwort von alhcr (Option 1) funktioniert nicht, wenn Sie nur eine rightBarButtonItem
und keine übrig haben. Es macht auch eine Annahme über die Subview-Anordnung der UINavigationBar, die nicht garantiert ist und sich sehr wohl in einer zukünftigen Version von iOS ändern könnte. Hier ist eine bessere Möglichkeit zum Anpassen von Rahmen für Navigationsschaltflächen:
Ich habe die Lösung dieses Problems gefunden, indem ich die Bildrandeinschübe der benutzerdefinierten Schaltfläche angepasst habe. Ich hatte die Anforderung in der App, um die Höhe der Navigationsleiste zu erhöhen und nach dem Erhöhen der Höhe macht die rechteBarButtonItem und leftBarButtonItem Bilder Problem gelöst.
Finde den folgenden Code: -
%Vor%Tags und Links objective-c ios uinavigationcontroller uinavigationbar uinavigationitem