Come rimuovere il riempimento orizzontale a sinistra ea destra degli elementi personalizzati di sinistra e destra di UINavigationBar? Sembra che ci siano ~ 10 punti di riempimento che iOS imposta di default.Posizionamento di un UIBarButtonItem basato su visualizzazione personalizzata nella barra di spostamento senza riempimento orizzontale predefinito
Sto personalizzando i pulsanti della barra di navigazione sinistra e destra (ho rinunciato a provare a impostare il mio backButtonItem, quindi sto solo usando il leftBarButtonItem).
In entrambi i casi (a sinistra oa destra), premendo questi pulsanti personalizzati si indica che Apple sembra conservare un riempimento a sinistra di LeftBarButtonItem e alla destra di rightBarButtonItem; a prescindere dall'ampiezza dello sfondo personalizzato e delle proprietà dell'immagine di UIButton, posto come elemento personalizzato all'interno della barra dei pulsanti sinistra/destra.
Poiché UIBarButtonItem non ha "frame" a cui posso accedere, non riesco a posizionarli all'interno della loro superview come se fosse normale.
Qualche suggerimento su come rimuovere questo riempimento predefinito? Vedi la schermata allegata per vedere il bit che sto cercando di ridurre a una larghezza zero. Nella schermata, l'icona più appare spostata a destra perché ho inserito un riquadro; ma l'immagine di sfondo evidenziata, presumibilmente usando anche questo riquadro, viene ritagliata sul lato destro).
vedi immagine a: https://skitch.com/starbaseweb/rj2e5/ios-simulator
Per riferimento, ecco come sto creando il mio personalizzato UIBarButtonItem (in questo caso, è il tasto destro):
- (UIBarButtonItem *)customAddButtonItemWithTarget:(id)target action:(SEL)action {
UIButton *customButtonView = [UIButton buttonWithType:UIButtonTypeCustom];
customButtonView.frame = CGRectMake(0.0f, 0.0f, 45.0f, 44.0f);
[customButtonView setBackgroundImage:
[UIImage imageNamed:@"bgNavBarButton-OutsideRight-Normal.png"]
forState:UIControlStateNormal];
[customButtonView setBackgroundImage:
[UIImage imageNamed:@"bgNavBarButton-OutsideRight-Highlighted.png"]
forState:UIControlStateHighlighted];
[customButtonView setImage:
[UIImage imageNamed:@"bgNavBarButton-Add-Normal.png"]
forState:UIControlStateNormal];
[customButtonView setImage:
[UIImage imageNamed:@"bgNavBarButton-Add-Highlighted.png"]
forState:UIControlStateHighlighted];
[customButtonView addTarget:target action:action
forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *customButtonItem = [[[UIBarButtonItem alloc]
initWithCustomView:customButtonView] autorelease];
[customButtonView setImageEdgeInsets:UIEdgeInsetsMake(0.0f, 10.0f, 0.0f, 0.0f)];
//customButtonItem.imageInsets = UIEdgeInsetsMake(0.0f, 10.0f, 0.0f, 0.0f);
return customButtonItem;
}
+1: ho avuto questo problema e ho provato un certo numero di cose .. compresi gli inserti, e semplicemente facendo l'immagine a -10 nella posizione x ed ecc. Non ho avuto fortuna quindi ho solo tenuto il piccolo padding e ho rifatto il immagine per renderlo più appropriato. in bocca al lupo. –