Benutzerdefinierte Ausrichtung von UIBarButtonItem mit iOS7 deaktiviert

Ich habe also das gleiche Problem, das bei vielen anderen beim Erstellen eines UIBarButtonItems mit einem UIButton als benutzerdefinierte Ansicht auftritt.

Grundsätzlich ist der Button etwa 10 Pixel zu weit links oder rechts. Wenn ich ein normales BarButtonItem ohne benutzerdefinierte Ansicht verwende, geschieht dies nicht.

Dieser Beitrag lieferte eine Teillösung:UIBarButton Mit Benutzerdefinierter Ansicht

Hier ist mein Code, den ich durch Unterklassen von UIButton erstellt habe (wie im anderen Beitrag angegeben)

    - (UIEdgeInsets)alignmentRectInsets {
    UIEdgeInsets insets;
    if ([self isLeftButton]) {
        insets = UIEdgeInsetsMake(0, 9.0f, 0, 0);
    }
    else { // IF ITS A RIGHT BUTTON
        insets = UIEdgeInsetsMake(0, 0, 0, 9.0f);
    }
    return insets;
}


- (BOOL)isLeftButton {
    return self.frame.origin.x < (self.superview.frame.size.width / 2);
}

Das funktioniert prima, aber wenn ich einen Ansichtscontroller vom Navigationscontroller zurück in diese Hauptansicht bringe, ist die Schaltfläche für ca. 0,3 Sekunden immer noch falsch positioniert und rastet dann im richtigen Einschub ein.

Dies ist ein RIESIGER Schandfleck und ich habe keine Ahnung, wie ich verhindern kann, dass es so abbricht. Irgendwelche Gedanken? Vielen Dank!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage