我正试图用这种颜色来获得半透明的uitableview
[UIColor colorWithRed:(247.0/255.) green:(151.0/255.0) blue:(121.0/255.0) alpha:0.38];
如果只有空单元格,那就没关系,但是当单元格内部有内容时,背景变得更加坚固。 就好像单元格本身具有相同的表格背景,因此透明度会成倍增加。
内部含有的细胞是半透明的,但有错误的alpha。
表背景设置正确
self.myTable.backgroundColor = bgcolor;
单元格的背景设置为清晰而不透明
self.contentView.backgroundColor = [UIColor clearColor];
self.contentView.opaque = NO;
那么,为什么会有这种行为呢? 有人能帮助我吗?
答案 0 :(得分:2)
我解决了使用透明的UITableView并在其后面放置一个半透明的UIView。
答案 1 :(得分:0)
这可能是由于细胞的缓存造成的。您是否尝试过禁用缓存?它的效率非常低,但它可能会帮助您找到解决此问题的方法,如果确实是UITableViewCell缓存是问题。
您可以通过不使用tableView:cellForRowAtIndexPath:function中的“dequeueReusableCell”函数来禁用它。
答案 2 :(得分:0)
我刚刚遇到了同样的问题。
在UITableViewCell类上打破 - (void)setBackgroundColor之后,似乎它刚刚被UITableView内部方法调用
-(UITableViewCell*)tableView:cellForRowAtIndexPath:
你的代表的方法 另一种解决方法是重载
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
代理中的方法,并在此处设置单元格的背景颜色。