Je personnalise le bouton arrière de la barre de navigation à l'aide du proxy d'apparence, définissez également les attributs d'image et de texte. Tout fonctionne bien, mais le texte dans le bouton arrière n'est pas un centre aligné.
Voici mon code. P>
UIBarButtonItem *backButton = [[[UIBarButtonItem alloc] initWithTitle:title style:UIBarButtonItemStyleBordered target:nil action:nil] autorelease]; UIImage *buttonBack32 = [[UIImage imageNamed:@"NavigationBackButton"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 10, 0, 5)]; [[UIBarButtonItem appearance] setBackButtonBackgroundImage:buttonBack32 forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; [[UIBarButtonItem appearance] setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys: [UIColor whiteColor], UITextAttributeTextColor, [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.8], UITextAttributeTextShadowColor, [NSValue valueWithUIOffset:UIOffsetMake(0, -1)], UITextAttributeTextShadowOffset, [UIFont fontWithName:@"xxx" size:16.0], UITextAttributeFont, nil] forState:UIControlStateNormal]; self.navigationItem.backBarButtonItem = backButton;
3 Réponses :
Vous pouvez utiliser le SettiTlePositionnementAjoutation: Fourbarmétrics: Méthode pour définir le décalage du titre selon les besoins. Par exemple:
Travaillé pour moi (y)
You can use this : UIView* leftContainer = [[UIView alloc] initWithFrame:CGRectMake(0.0, 4.0, 70.0, 44.0)]; UIImage *profileImg = [UIImage imageNamed:@"account-btn.png"]; UIButton *profilebutton = [UIButton buttonWithType:UIButtonTypeCustom]; profilebutton.frame = CGRectMake(0.0, 7.0, 70.0, 30.0 ); [profilebutton setImage:profileImg forState:UIControlStateNormal]; [profilebutton addTarget:self action:@selector(profileBtnClicked) forControlEvents:UIControlEventTouchUpInside]; [leftContainer addSubview:profilebutton]; UIBarButtonItem* item = [[UIBarButtonItem alloc] initWithCustomView:leftContainer]; self.navigationItem.leftBarButtonItem = item; [leftContainer release]; [item release];
Pour ajuster le texte, je devais utiliser ceci:
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -1.5) forBarMetrics:UIBarMetricsDefault];
Vous parlez-vous d'alignement vertical ou d'alignement horizontal?
Je pense essayer cela peut aider à ne pas surtout sur, mais je fais cette chose dans TextView et aussi, mais pas à Barbutton, je vais donc simplement essayer la réponse [[Apparence uibarbuttonitem] Settextalignment: UitextalignmentCenter]; :)
Parasjoshi: Cela n'a pas fonctionné.
Je parle d'alignement vertical