我正在开发一个小的 iOS 组件,但我遇到了带有子视图的半透明视图的问题。这是我的场景:
- 一个带有半透明背景的视图,使用[UIColor colorWithRed:green:blue:alpha]
- 一点点UITableView
, with alpha = 1.0
, 作为子视图添加到半透明视图
- 其他一些子视图
一切正常,但是当向上或向下滚动时会出现问题UITableView
,事实上,半透明视图周围的区域UITableView
失去了透明度,变得比原来的背景颜色更暗。
这是解释问题的图像:
看看有两个箭头的空间......
谁能帮我解决这个问题?
非常感谢您的关注!
更新:
一些代码:
_alertBg = [[UIView alloc] initWithFrame:CGRectZero];
_alertBg.backgroundColor = self.backgroundColor;
_alertBg.frame = CGRectMake((_bgView.frame.size.width - 240) / 2, (_bgView.frame.size.height - 260) / 2, 240, 260);
_alertBg.layer.cornerRadius = 8.0;
_alertBg.layer.borderWidth = 2.0;
_alertBg.layer.borderColor = self.borderColor.CGColor;
_alertBg.layer.shadowColor = [UIColor grayColor].CGColor;
_alertBg.layer.shadowOffset = CGSizeMake(0, 3);
_alertBg.layer.shadowOpacity = 0.8;
_alertBg.layer.masksToBounds = YES;
[_bgView addSubview:_alertBg];
_table = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
_table.frame = CGRectMake(10, _titleLabel.frame.origin.y + _titleLabel.frame.size.height + 12, _alertBg.frame.size.width - 20, 150);
_table.layer.cornerRadius = 6.0;
_table.layer.masksToBounds = YES;
_table.delegate = self;
_table.dataSource = self;
[_alertBg addSubview:_table];
从上面的代码中,self.backgroundColor
类似于[UIColor colorWithRed:0 green:0 blue:1 alpha:0.7]