2015-11-13 3 views
-1

Я пытаюсь размыть текст метки, которую я создаю программно, я смог применить размытие, но только для самой метки, оставив текст читаемым и размытым только фон за наклейка.UILabel blur only text

Есть ли способ размыть только текст?

Заранее спасибо.

EDIT:

Heres мой код до сих пор:

UILabel *lblVericalName = 
    [[UILabel alloc]initWithFrame:CGRectMake(-95, 
              _viewVerticalStick.frame.size.height-120, 
              200, 
              20)]; 
lblVericalName.tag = [tarefaDiaArray.idTarefaDia integerValue]; 
lblVericalName.text = tarefaDiaArray.nomeTarefa; 

lblVericalName.transform=CGAffineTransformMakeRotation(M_PI+89.55); 

UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]; 

UIVisualEffectView *blurEffectView = 
    [[UIVisualEffectView alloc] initWithEffect:blurEffect]; 

blurEffectView.frame = lblVericalName.bounds; 

blurEffectView.autoresizingMask = 
    UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 


[viewStickBackground addSubview:lblVericalName]; 

if ([tarefaDiaArray.tarefaPremium intValue] ==1) { 
    //[viewStickBackground addSubview:blurEffectView]; 
    [lblVericalName addSubview:blurEffectView]; 
} 

EDIT 2:

Blurred text

UPDATE

Я сделал некоторый прогресс, теперь у меня есть это:

my image

и мне нужно, чтобы сделать его выглядеть следующим образом:

what i want

вот код, который я» м с использованием:

lblNomeVertical.textColor = [UIColor colorWithRed: 0.494 green: 0.494 blue: 0.494 alpha: 0.8];

lblNomeVertical.layer.shadowOffset = CGSizeMake(1, 1.1); 
lblNomeVertical.layer.shadowColor = [UIColor colorWithRed:0.827 green:0.827 blue:0.827 alpha:1].CGColor; 
lblNomeVertical.layer.shadowRadius = 1.0; 
lblNomeVertical.layer.shadowOpacity = 1; 
+2

Вы не показали то, что вы» re фактически сделав. Покажи это. – matt

+0

Пожалуйста, объясните, что делает ваш текущий код и почему он не подходит для того, что вы пытаетесь сделать. – SuperBiasedMan

+0

@SuperBiasedMan Я добавил изображение того, что происходит. Мне нужно, чтобы текст был размытым (расфокусированным), но не все метки –

ответ

2

Вместо использования ярлыка используйте чертеж. В коде нарисуйте текст самостоятельно и размывайте его (например, с размытым ящиком или гауссовским CIFilter размытием). Теперь просто разместите этот рисунок перед своим фоном. Таким образом, я смог добиться этого, который, кажется, такие вещи вы после (конечно, это может быть более размытым, если вы хотите):

enter image description here

+0

У меня возникли проблемы с использованием чертежа, но теперь я понимаю, что это путь. Мне просто нужно прочитать документацию сейчас. благодаря –

Смежные вопросы