2013-04-24 3 views
0

Зачем добавлять тень к любому слою слишком тяжело?Зачем добавлять тень к любому слою слишком тяжело? Использование QuartzCore

Я попытался добавить тень в свой UIView, и это было ОЧЕНЬ тяжело на этом экране.

Почему это так тяжело? Единственное решение, которое я нахожу, - добавить теневое изображение в PNG для имитации, легче, чем создать тень с помощью QuartzCore.

Есть ли какие-либо решения для этого?

+0

Что значит тяжелый? Я сомневаюсь, что телефон получает массу. Я предполагаю, что вы имеете в виду дорогостоящую операцию, чтобы нарисовать тень. Его из-за градиента и компоновки всех слоев вместе, чтобы сделать последний экран. – John

+0

Да, тяжелый, я имею в виду медленный, но ОЧЕНЬ медленный до уровня ползучести UIView для загрузки. Кажется, нести мир! hehehe Есть ли решение для этого? или PNG - это решение, «элегантное» для этого ... rsrs –

ответ

2

использовать следующую функцию, чтобы дать тень какого-либо контроля, как, кнопки, этикетки, текстовое поле или вид просто передать, что контроль этой функции

- (void)setShadowOnView:(UIView)aView 
    { 
     CALayer *layer = aView.layer; 
     layer.masksToBounds = NO; 
     layer.shadowColor = [[UIColor blackColor] CGColor];//change is to set color of shadow 
     layer.shadowOpacity = 1.f;//change is to set alpha of shadow 
     layer.shadowOffset = CGSizeMake(-2.5f, 0.f);//change is to set size of shadow 
     layer.shadowRadius = 5.f;//change is to set radios of shadow 
     layer.shadowPath = [[UIBezierPath bezierPathWithRect:aView.bounds] CGPath]; 
    } 

попытаться установить свойства, как вам нравится, и в соответствии с вашими требованиями ..

Наслаждайтесь кодированием .......

+0

Работайте так! Но почему функция лучше, чем «прямой код»? –

+0

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

+0

если я напишу прямо, то у меня будет проблема, которую я сказал здесь ... но в функции нет .... что довольно проводной! ты знаешь почему ? –

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

  • Нет связанных вопросов^_^