私は小さな iOS コンポーネントを開発していますが、サブビューを含む半透明のビューに問題があります。これは私のシナリオです:
-
を使用した半透明の背景を持つ 1つ
の ビュー[UIColor colorWithRed:green:blue:alpha]
UITableView
alpha = 1.0
すべて正常に動作しますが、 を上下にスクロールすると問題が発生しますUITableView
。実際、 の周囲の半透明ビューの領域は透明度をUITableView
失い、元の背景色よりも暗くなります。
問題を説明する画像は次のとおりです。
2 つの矢印があるスペースを見てください...
誰でもこの問題を解決できますか?
ご清聴ありがとうございました!
更新:
いくつかのコード:
_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]