UITextView阴影不起作用

时间:2012-09-03 03:21:43

标签: objective-c ios uitextview calayer shadow

我试图让UITextView的图层阴影在UITableView标头中工作。我有一个UIView,我正在格式化所有内容,然后将headerview设置为等于它。

UIView * view = [[UIView alloc] initWithFrame: CGRectMake(0, 0, self.tableView.frame.size.width, 450);
UIColor * baseColor = [[UIColor alloc] initWithRed: 45/255.0
                                             green: 100/255.0
                                              blue: 150/255.0
                                             alpha: 1.0];

view.backgroundColor = baseColor;
...
UITextView * newCommentField = [[UITextView alloc] initWithFrame:CGRectMake(20, 230, 270,   120)];
newCommentField.text = @"New Comment";
newCommentField.tag = 3;
newCommentField.layer.shadowOffset = CGSizeMake(0, 3);
newCommentField.layer.shadowRadius = 5.0;
newCommentField.layer.shadowColor = [UIColor blackColor].CGColor;
newCommentField.layer.shadowOpacity = 0.8;
[view addSubview:newCommentField];
...
self.tableView.tableHeaderView = view;

一切都在视图中正确显示。但是,阴影没有出现。我不知道这里出了什么问题。我甚至尝试修改图层的框架,使其成为注释字段的大小,更大,尺寸相同。

2 个答案:

答案 0 :(得分:1)

您没有为newCommentField设置背景颜色。 尝试:

newCommentField.backgroundColor = [UIColor whiteColor];

答案 1 :(得分:0)

您也可以这样做...创建一个与textView相同大小的视图(例如.bgView),并将该textView添加为bgView的子视图,该视图将作为标题视图的子视图添加。将阴影效果应用于bgView。

UIView *bgView=[[UIView alloc]initWithFrame:CGRectMake(20, 230, 270,   120)];
bgView.backgroundColor=[UIColor whiteColor];
bgView.layer.shadowOffset = CGSizeMake(0, 3);
bgView.layer.shadowRadius = 5.0;
bgView.layer.shadowColor = [UIColor blackColor].CGColor;
bgView.layer.shadowOpacity = 0.8;

[bgView addSubview:newCommentField];

[view addSubview:bgView];