2012-05-30 2 views
0

Я пытаюсь применить тень к UILabel, но я получаю уродливую верхнюю тень на шрифте.IOS UILabel shadow генерирует странную верхнюю тень

Как вы видите, тень уже далека от шрифта, но я получаю эту затененную верхнюю вещь ... Шрифт должен быть чисто белым.

Любая идея? Я мог бы поставить еще один UILabel над ним, но я думаю, что это не самое чистое решение ...

float width = 500.0f; 
    UIShadowLabel *label = [[UIShadowLabel alloc] initWithFrame:CGRectMake((self.view.bounds.size.width * 0.5) - (width * 0.5), 150.0, width, 100.0) ]; 
    label.backgroundColor = [UIColor clearColor]; 
    label.shadowColor = UIColorFromRGB(0xb1b0b0); 
    label.shadowRadius = 3.0f; 
    label.shadowOffset = CGSizeMake(15.0f, 15.0f); 
    label.textAlignment = UITextAlignmentCenter; 
    label.textColor = [UIColor whiteColor]; 
    label.font = [UIFont fontWithName:@"Arial" size:(100.0)]; 
    [self.view addSubview:label]; 
    label.text = @"am"; 

enter image description here

+0

Является ли это в симуляторе? Симулятор не рисует, а телефон использует Core Animation. Также, если вы публикуете свой UIShadowLabel, мы можем посмотреть на код. Возможно, это добавление штриха. –

+0

Нет, я тоже вижу эту тень на устройстве. –

ответ

0

Использование ниже кода в соответствии с вашими потребностями

[self.yourView.layer setShadowColor:[UIColor blackColor].CGColor]; 
[self.yourView.layer setShadowOpacity:0.8]; 
[self.yourView.layer setShadowRadius:3.0]; 
[self.yourView.layer setShadowOffset:CGSizeMake(2.0, 2.0)]; 
Смежные вопросы