UIBarButtonItem: как я могу изменить смещение тени текста? - PullRequest
8 голосов
/ 30 марта 2012

Я пытаюсь изменить смещение тени позади текста в UIBarButtonItem.

Это мой код:

NSMutableDictionary *attributes = [NSMutableDictionary dictionary];
[attributes setValue:[UIColor colorWithWhite:0.30 alpha:1.0] forKey:UITextAttributeTextColor];
[attributes setValue:[UIColor whiteColor] forKey:UITextAttributeTextShadowColor];
[attributes setValue:[NSValue valueWithUIOffset:UIOffsetMake(0.0, 0.0)] forKey:UITextAttributeTextShadowOffset];
[[UIBarButtonItem appearance] setTitleTextAttributes:attributes forState:UIControlStateNormal];

Изменение цвета текста работает. Изменение цвета тени работает. Изменение смещения тени, похоже, ничего не дает.

Что-то не так с тем, как я это делаю? Я также попытался установить его напрямую, без внешнего прокси, но это тоже не сработало.

Ответы [ 2 ]

1 голос
/ 30 марта 2012

Я считаю, что ваш код верен, хотя, возможно, вы ожидаете чего-то отличного от того, что он делает. Если я вставлю его в тестовое приложение и изменим значения смещения на 10,0, 10,0, смещение тени будет для меня видимым. (iOS 5.0)

Here's a clip taken from the simulator while running what you posted.

0 голосов
/ 16 мая 2013

Ваши значения UIOffset тени равны 0.0,0.0, что фактически не вызывает тениВам нужно будет сместить тень как минимум на 1 пиксель в любом направлении.например.это даст вам тень внизу слева.

[NSValue valueWithUIOffset:UIOffsetMake(-1.0, 1.0)]
...