Ich folge dem zweiten Tipp von hier . In diesem Tipp werden zwei UIBarButtonItems in einer UIToolbar zusammengefasst. Schließlich wird die UIToolbar zur UINavigationBar hinzugefügt. Nun zu meinen Problemen:
1) Eine weiße Linie befindet sich oben auf der UIToolbar. Wenn ich die Größe der UIToolbar vergrößere, ist der Gradient falsch. Ich verwende die folgende Größe für die UIToolbar:
%Vor%Wie kann ich die weiße Linie loswerden? Siehe hier:
Das Problem ist, dass es eine weiße statt einer grauen Linie gibt. Wenn es grau wäre, wäre alles perfekt.
2) Was ist mit dem Unterschied der Displaygröße von iPhone 3 und iPhone 4? Muss ich überprüfen, welches iPhone verwendet wird und dann die Größe verdoppeln?
Bearbeiten:
Die Buttons sind wie im folgenden Beispiel erstellt, das ich von der oben genannten Website genommen habe:
%Vor%@ tc.:
Ich habe versucht, UIToolbar
zu unterklassen.
Es gibt keine Garantie dafür, dass UIToolbar nahtlos in eine UINavigationBar passt. Dies könnte für die weiße Linie verantwortlich sein, die Sie sehen.
Möglicherweise können Sie UIToolbar von der Unterklasse ableiten, sodass sie nicht gezeichnet wird (d. h. überschreiben Sie -drawRect: um nichts zu tun).
1) Ich kann die weiße Linie nicht erklären. Seltsam, dass es nur über deinen Knöpfen ist. Wie werden die Schaltflächen erstellt? Gibt es einen Grund, warum Sie die Höhe auf 44.01 und nicht nur auf 44 setzen? Ich bin nicht davon überzeugt, dass die Höhe, die Sie festgelegt haben, in jedem Fall geehrt wird, sie können gezwungen werden, 44 (jemand korrigiert mich, wenn ich falsch liege).
2) Sie müssen nichts für iPhone 4 tun, alles wird automatisch skaliert.
Eine UIToolbar ist so konzipiert, dass sie unten auf dem iPhone-Bildschirm verwendet werden kann. Wenn Sie sie woanders verwenden, versucht sie, einen Randeffekt auf der Oberseite zu erzielen. Um dies zu vermeiden, sollte die Höhe der Werkzeugleiste 2 Pixel größer als die Höhe der Navbar sein. Zu diesem Zeitpunkt haben Sie einen anderen Nebeneffekt, der eine Kante auf der Unterseite der Navigationsleiste freigibt. (Die navbar findet in jedem Fall das rechtsbündige Element als ausgerichtet in der Mitte)
Tags und Links objective-c iphone cocoa-touch uinavigationbar uitoolbar