Niestandardowe wyrównanie UIBarButtonItem z iOS7

Mam więc ten sam problem, którego doświadcza wielu innych podczas tworzenia UIBarButtonItem z UIButtonem jako widokiem niestandardowym.

Zasadniczo przycisk ma około 10 pikseli w lewo lub w prawo. Gdy używam zwykłego BarButtonItem bez widoku niestandardowego, tak się nie dzieje.

Ten post zapewnia częściowe rozwiązanie:Przycisk UIBarBut z widokiem niestandardowym

Oto mój kod utworzony przez podklasę UIButton (jak podano w innym poście)

    - (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);
}

Działa to świetnie, ale gdy włączyłem kontroler widoku z kontrolera nawigacyjnego z powrotem do tego głównego widoku, przycisk jest nadal niepoprawnie ustawiony przez około 0,3 sekundy, a następnie wskakuje do prawidłowej wstawki.

To jest OGROMNY wzrok i nie mam pojęcia, jak powstrzymać go przed takim zatrzaśnięciem. jakieś pomysły? Dzięki!

questionAnswers(4)

yourAnswerToTheQuestion