我设置了一个透明的UITableViewCell
,我希望它被设置为阴影,但在选中时仍然不透明。这是我添加到- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
以尝试产生效果的内容:
UIView *bgView = [[UIView alloc] initWithFrame:cell.frame];
bgView.backgroundColor = [UIColor lightGrayColor];
bgView.alpha = .3;
cell.selectedBackgroundView = bgView;
然而,当选择单元格时,这会导致单元格变为不透明的灰色。我怎么能有半透明的灰色?似乎设置alpha没有效果?或者我可以在- (void)tableView:(UITableView *)tableView Cell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
中设置哪些内容来解决此问题?我尝试将此行添加到该函数中,但我仍然有不透明的灰色单元格而不是我设置的低alpha单元格。
cell.selectedBackgroundView.alpha = .3
答案 0 :(得分:0)
您可以尝试:
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
与您的自定义backgroundView结合使用。
答案 1 :(得分:-2)
您应该覆盖UITableViewCell
类,并在那里实施setSelected
和setHighlighted
方法。你应该在背景中设置颜色或默认颜色。
或者,无论多么丑陋,你可以覆盖willDisplayCell...
方法并在那里设置颜色。
不要忘记将单元格选择样式设置为.None
。