Quindi sto riscontrando lo stesso problema che molti altri stanno riscontrando durante la creazione di un UIBarButtonItem con un UIButton come visualizzazione personalizzata.Allineamento personalizzato UIBarButtonItem con iOS7
Fondamentalmente il pulsante è di circa 10 pixel verso sinistra o verso destra. Quando utilizzo un oggetto BarButtonItem normale senza una visualizzazione personalizzata, ciò non accade.
Questo post ha fornito una soluzione parziale: UIBarButton With Custom View
Ecco il mio codice ho creato da sottoclasse UIButton (come detto in altri post)
- (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);
}
Questa grande opera, ma quando ho pop un controller di visualizzazione dal controller di navigazione di nuovo a questa vista principale, il pulsante è ancora posizionato in modo errato per circa 3 secondi, e quindi si inserisce nell'inserto corretto.
Questo è un pugno nell'occhio ENORME e non ho idea di come smettere di spezzare in questo modo. qualche idea? Grazie!
Penso che questa sia la soluzione migliore, meglio di cambiare UIEdegeInset, questo non ha problemi di area di tocco – Nick
Molto buono! Questo ha risolto anche il mio problema! – rockstarberlin
Soluzione perfetta. Se potessi, lo revocherei per 10 volte. – kufi