Benutzerdefiniertes UIBarButtonItem

7

Ich versuche, ein benutzerdefiniertes UIBarbuttonItem zu erstellen, das nur ein PNG mit Transparenz verwendet, so dass ich nur ein Symbol als Schaltfläche habe. Wenn ich versuche, das Bild der Schaltfläche festzulegen, setze den Hintergrund auf Weiß und setze den Stil auf "Einfach". Ich erhalte immer noch einen inneren Schatten und einen schwarzen Rahmen um ihn.

Was gibt's?

Ich habe den folgenden Code ausprobiert und es setzt immer noch den schwarzen Rand um ihn herum.

%Vor%

Was ich bemerkt habe, ist, wenn ich einen modalen Übergang mache, den Knopf, mit dem Code oben, hat immer noch einen schwarzen Rand um ihn herum, aber wenn ich einen Push-Übergang mache, tut es das nicht? WTF?

    
jdog 07.06.2013, 04:55
quelle

6 Antworten

7

Ich habe dein Problem verstanden.

Wenn du tatsächlich UIViewController drückst, wird es ein Teil der bestehenden UINavigationController sein. Also die UINavigationBar bleibt erhalten. Aber wenn Sie ModalViewController verwenden, ist dies nur eine weitere UIViewController Art von "hinzugefügt" zu Ihrer bestehenden UIViewController . Also wird die UINavigationBar nicht da sein.

Aber Sie können ein weiteres UINavigationBar von xib hinzufügen und ein UIButton hinzufügen. Aber fügen Sie nicht direkt UIButton hinzu, wenn Sie dies tun, wird es automatisch in UIBarButton umgewandelt und grenzt es ab.

Also ziehe zuerst eine normale UIButton auf deine UIView (nicht die Navigationsleiste). Ändern Sie es in benutzerdefiniert und fügen Sie UIImage hinzu, indem Sie Attribute Inspector verwenden. Ziehen Sie das Bild dann auf Ihre benutzerdefinierte erstellte UINavigationBar . Es wird funktionieren, wie ich es gerade jetzt versucht habe. Sie können den Screenshot unten sehen.

    
Javvadi Rajesh 20.06.2013, 13:06
quelle
15

Sie müssen den Schaltflächentyp auf Benutzerdefiniert und das Symbolbild auf die Schaltfläche Hintergrund einstellen. Beispielcode:

%Vor%

Dann setze diese Schaltfläche wie folgt auf dein BarButtonItem:

%Vor%     
Primoz990 07.06.2013 08:24
quelle
4

Dadurch werden ALLE rückwärtigen Schaltflächen und Navigationsleisten in der gesamten App aktualisiert.

Ich habe den folgenden Code verwendet, um die Schaltfläche Benutzerdefinierte Navigation zurückzusetzen

%Vor%

und der folgende Code zum Einstellen des Hintergrundbildes in der Navigationsleiste.

%Vor%     
Ayush 16.06.2013 15:52
quelle
2

Versuchen Sie es mit [UIBarButtonItem initWithCustomView]

%Vor%     
Splendid 07.06.2013 05:00
quelle
1

Ich persönlich mag FlatUIKit , indem ich einfach die gesamte Benutzeroberfläche durch UIAppearance abflache

Im Wesentlichen würden Sie etwas tun wie:

%Vor%     
Jonathon Hibbard 16.06.2013 04:29
quelle
0

Probieren Sie diesen Code ..

%Vor%     
NANNAV 07.06.2013 05:24
quelle