如何使UITableViewController顶部透明?

3
在我的iPhone应用程序中,我已经展示了控制器:
 ShareResourceItemViewController* controller = [[ShareResourceItemViewController alloc] initWithSharedResourceItem:[selectedItems objectAtIndex:0]];    
    [self presentViewController:controller animated:YES completion:nil];

在这个控制器中,我想让顶部变得透明。我尝试过:

-(void)viewDidLoad{
    [super viewDidLoad];
    [self performSelector:@selector(test) withObject:nil afterDelay:3];

}

-(void)test{
    self.tableView.backgroundColor = [UIColor clearColor];
    self.tableView.opaque = NO;
    self.tableView.backgroundView = nil;
}

背景已经清除,但控制器不透明,我无法看到先前的控制器。我该怎么解决?


为该视图控制器视图设置背景颜色为透明色。 - Balu
尝试这样写:self.view.backgroundColor = [UIColor clearColor]; - Baby Groot
3个回答

1
使表格视图单元格的背景颜色也变为透明色。

请记住,在willDisplayCellAtIndexPath方法中更改单元格的颜色。 - Cosmin

1
尝试这个。
self.view.backgroundColor = [UIColor clearColor];

1
我认为如果你想查看之前的视图控制器,你不应该呈现一个新的视图控制器,而是在当前视图控制器上方放置一个新的UIView。视图控制器不能透明或不透明,但是视图可以。试一下吧:
ShareResourceItemViewController* controller = [[ShareResourceItemViewController alloc] initWithSharedResourceItem:[selectedItems objectAtIndex:0]];
[self.view addSubview:controller.view];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接