Применение тени к UITextView.layer? - PullRequest
6 голосов
/ 28 февраля 2012

Я хочу нанести тень на UITextView, чтобы она выглядела как UITextField. Есть идеи? Я использую

textView.layer.shadowOpacity=0.8;
textView.layer.shadowColor=[[UIColor lightGrayColor] CGColor];
textView.layer.shadowOffset=CGSizeMake(0, 0);
textView.layer.shadowRadius=3;
textView.layer.cornerRadius=3;

но затеняет текст UITextView, если фон UITextView прозрачный. так есть ли идея, как дать тень на слой UITextView, как это ->

enter image description here

Ответы [ 2 ]

9 голосов
/ 04 июля 2012
    // Add shadow
    [textView.layer setBackgroundColor: [[UIColor whiteColor] CGColor]];
    [textView.layer setBorderColor: [[UIColor grayColor] CGColor]];
    [textView.layer setBorderWidth: 1.0];
    [textView.layer setCornerRadius:12.0f];
    [textView.layer setMasksToBounds:NO];
    textView.layer.shouldRasterize = YES;
    [textView.layer setShadowRadius:2.0f];
    textView.layer.shadowColor = [[UIColor blackColor] CGColor];
    textView.layer.shadowOffset = CGSizeMake(1.0f, 1.0f);
    textView.layer.shadowOpacity = 1.0f;
    textView.layer.shadowRadius = 1.0f;
1 голос
/ 28 февраля 2012

Класс не указывает такое свойство.Вы должны будете создать это самостоятельно.Чтобы создать его с помощью кода, вам нужно будет использовать фреймворк QuartzCore .Сначала вы импортируете его в свой файл, а затем можете установить следующие свойства:

#import <QuartzCore/QuartzCore.h>

textView.layer.cornerRadius = 30;
textView.clipsToBounds = YES;
textView.backgroundColor = [UIColor whiteColor];

Этот код предполагает, что у вас настроено текстовое представление с именем: textView .Просто измените cornerRadius, чтобы соответствовать тому, что вам нужно.Это делает textView показанным как изображение, которое вы показали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...