2013-12-10 5 views
6

Ich habe eine UINavigationBar, die eine neue Höhe von 85 hat und für Hoch- und Querformat festgelegt ist. Ich füge einen Edit-Button in der oberen rechten Ecke hinzu, aber er wird nicht dort bleiben.UIBarButtonItem setTitlePositionAdjustment auf iOS 7 Navigationsleiste

[item setTitlePositionAdjustment:UIOffsetMake(0, -47) forBarMetrics:UIBarMetricsDefault]; 

Aber, wenn ich das Gerät bewegt er sich wieder nach unten 47 in die ursprüngliche Position drehen:

Ich habe die folgenden verwendet. Wenn ich die Metriken erneut ändere, bewegt sie sich zurück zum ursprünglichen Ort. Wenn ich die Schaltfläche durch eine andere Schaltfläche ersetze, verschiebt sie die neue Schaltfläche an den ursprünglichen Speicherort, und das Festlegen der Position für die neue Schaltfläche führt zu nichts.

Ich kann nicht herausfinden, wie man den Knopf bewegt und es erhalten bleibt. Es gibt keine Möglichkeit, Einschränkungen für die UIBarButtonItem zu verwenden.

+0

Ich habe Ihre Frage als Favorit markiert und werde sie in ein paar Wochen noch einmal überprüfen. Nach meiner Erfahrung ist setTitlePositionAdjustment: forBarMetrics: gebrochen, wenn es um Rotation in iOS 7 geht. – bilobatum

Antwort

0

Sie könnten versuchen, eine UIView in der oberen rechten Ecke als UINavigationBar Kind setzen. Machen Sie die UIView die gleiche Höhe wie die Navigationsleiste, und setzen Sie Ihre Schaltfläche in der Ansicht. Sie können dann Einschränkungen für die Schaltfläche in der Ansicht hinzufügen.