将阴影应用于UITextView.layer?

时间:2012-02-28 09:11:27

标签: iphone objective-c ios ipad

我想在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 个答案:

答案 0 :(得分:9)

    // 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 :(得分:1)

该类未指定此类属性。你必须自己创建它。要使用代码创建它,您必须使用 QuartzCore 框架。首先将其导入文件,然后设置以下属性:

#import <QuartzCore/QuartzCore.h>

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

此代码假设您使用名称​​ textView 设置了textview。只需更改cornerRadius即可满足您的需求。这使得textView显示为您所显示的图片。