我使用以下内容在我的UITableView
上添加了一个子视图:
TransparentViewController *tvc =
[[TransparentViewController alloc]
initWithNibName:@"TransparentViewController" bundle:nil];
[self.view addSubview:tvc.view];
我的笔尖中有一个UIImageView
,其中包含一些文字和透明背景。
当我第一次为表格加载detailView
时,我会显示子视图,简要说明您可以在文本下方看到的信息。工作得很好。
我想要做的是改变底层表格的alpha值,使其更暗,但不会影响叠加子视图的alpha值。如果我使用:
[self.view setAlpha:(CGFloat)];
它也会使叠加层变暗。我似乎有精神障碍。
答案 0 :(得分:1)
更改alpha也会影响子视图。你的tvc.view是self.view的子视图,所以它自然会受到影响。
为什么不试试这个:在tvc.view中放入另一个视图,然后将此视图发送到此视图。
(UIView*) back = [[UIView alloc] initWithFrame:CGFrameMake(...)];
back.backgroundColor = [UIColor grayColor]; // choose a color that you like;
back.alpha = 0.5; // whatever works for you
[tvc.view addSubview:back];
[tvc.view sendSubviewToBack:back];
将此新视图的大小和alpha设置为您喜欢的内容。表格视图将在有限的范围内显示,这可以完成您要做的事情。
由于这是我们的tvc视图的一部分,它会在您显示该视图时显示,并在您隐藏该视图时消失。