2012-04-13 3 views

ответ

2

Взгляните на класс CALayer из Framework CoreAnimation. Вот хороший учебник с примерами: http://nachbaur.com/blog/fun-shadow-effects-using-custom-calayer-shadowpaths

Затем применить тень на правой Tableview (однако, может потребоваться вложения TableView в представлении контейнера)

+0

+1: CALayer shadow может быть немного сложнее, чем транс-png, но в будущем он будет более гибким! –

+0

Полностью согласен - я был на своем iPhone, когда предлагал подход png, так как я не мог вспомнить код CALayer с верхней части моей головы ... – SomaMan

0

Самый простой способ, если вы не знаете об основных графики, чтобы сделать градиент PNG и положение/размер его справа от ячейки, под все остальное.

+1

Мне нужно сделать это с помощью Core Graphics – Sveta

0

В UIBuilder выберите вид, содержащий таблицу. Возможно, вам придется поиграть с точным уровнем того, что вы выбрали. Справа в инспекторах находится инспектор представлений. Там вы можете установить тень, включая радиус размытия и смещение. Если вы просто установите тень без радиуса размытия или смещения, вы не увидите тень, так как она будет непосредственно за вашей таблицей.

enter image description here

+0

вопрос помечен iphone, поэтому нельзя использовать IB для достижения этого –

0

Вы можете создать падающую тень легко, используя QuartzCore.

Код:

#import <QuartzCore/QuartzCore.h> 

UIView *myView = <your view here> 
myView.layer.shadowOffset = CGPointMake(5, 5); 
myView.layer.shadowRadius = 5.0f; 

Это должно сделать это.

Обратите внимание, что при настройке shadowOffset использование положительных значений будет снижаться вправо и снизу, используя отрицания, сделает обратное.

+0

вы также должны установить shadowPath при добавлении тени таким образом по соображениям производительности (попробуйте поместить несколько затененных объектов на uiscrollview, чтобы увидеть, насколько дорогостоящая операция) –

+0

Я согласен, но для быстрого и грязного примера это будет работать нормально. –

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