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