0

我试图让 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;

一切都在视图中正确显示。然而,影子并没有出现。我不知道这里出了什么问题。我什至尝试修改图层的框架并将其设置为评论字段的大小,更大且大小相同。

4

2 回答 2

1

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

newCommentField.backgroundColor = [UIColor whiteColor];
于 2016-07-27T03:13:11.380 回答
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];
于 2012-09-03T04:54:03.837 回答