po prostu zastanawiasz się, ja dostosował UIBarButtonItems następujący sposóbJak ustawić iOS jako gradient na obrazie UIBarButtonItem?
+ (UIBarButtonItem *)createBarButtonItemWithTitle:(NSString *)t target:(id)tgt action:(SEL)a
{
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *buttonImage = [[UIImage imageNamed:@"blabla.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 10, 0, 10)];
CGRect buttonFrame = [button frame];
buttonFrame.size.width = 35;
buttonFrame.size.height = buttonImage.size.height;
[button setFrame:buttonFrame];
[button setBackgroundImage:buttonImage forState:UIControlStateNormal];
[button addTarget:tgt action:a forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithCustomView:button];
return buttonItem ;
}
Ale teraz nie mam cieniowanie/błyszczący efekt na obrazie przycisk tle ....
Czy istnieje sposób, aby zrobić to automatycznie, czy też muszę to zrobić programowo?
EDIT:
Proszę udostępnić zrzut ekranu standardowego 'UIBarButtonItem', gdzie nie można tego zrobić za pomocą tylko obrazu. –
ok, jak pokazano na obrazku, bez cieniowania/połysku. To prawdopodobnie normalne zachowanie, zastanawiam się tylko, czy mogę zrobić iOS, aby zrobił to automatycznie ... – Alex
Jak widzę, standardowe przyciski mają taką samą wysokość, zauważ, jak wygląda efekt połysku - zawsze jest to poziome (o ile pamiętam). W takim przypadku należy dodać efekt połysku do obrazu i pozwolić mu skalować bez utraty jakości (dodając wypustki, aby pokryć krawędzie i obszary narożne). Działa szybko, świetnie wygląda, nie widzę potrzeby używania ani nawet tworzenia specjalnego kodu. –