Portanto, esta dica não é nada surpreendente, mas descobri que precisava criar muitos programas UIBarButtonItem
usando FontAwesome (e texto normal) com atributos de texto específicos e um fundo em branco. Em vez de me repetir várias vezes no código, acabei de criar uma UIBarButtonItem
categoria simples para fazer o trabalho pesado para mim.
Para criar um simples UIBarButtonItem
usando um ícone FontAwesome específico, você pode fazer isso usando a categoria:
NSDictionary *faTextAttributes =
@{ UITextAttributeFont : [UIFont fontWithName:
kFontAwesomeFamilyName size: 22],
UITextAttributeTextColor : [UIColor whiteColor],
UITextAttributeTextShadowColor:
[UIColor blackColor],
UITextAttributeTextShadowOffset:
[NSValue valueWithCGSize: CGSizeMake(0,-1)]
};
UIImage *blankImage = [UIImage new];
UIBarButtonItem *aMenuButton =
[UIBarButtonItem barButtonItemUsingFontAwesomeIcon:
@"icon-reorder"
target:self action:@selector(showMenu:)
withTitleTextAttributes:faTextAttributes
andBackgroundImage:blankImage];
Então, por um lado UIBarButtonItem
, não vai economizar tempo, mas eu tinha muito o que construir no código. Eu também tinha alguns itens específicos para o aplicativo que precisavam ser adicionados a todos os UIBarButtonItem
criados dessa maneira, então também os adicionei à categoria. Definitivamente economizou tempo e digitação, pois o utilitário o criou para mim. (Observação: deixei de fora as peças personalizadas na essência.)
Usar somente texto UIBarButtonItems
é virtualmente idêntico – basta ter um Dicionário de Atributos de Texto com uma fonte regular e usar barButtonItemWithTitle:target:action:withTitleTextAttributes:andBackgroundImage:]
.
A essência inteira está em https://gist.github.com/kerrishotts/4980294 e sob uma licença do MIT.