Cocoa touch 如何在iOS 7中为嵌套视图实现导航栏和工具栏的半透明效果?

Cocoa touch 如何在iOS 7中为嵌套视图实现导航栏和工具栏的半透明效果?,cocoa-touch,ios7,uitoolbar,Cocoa Touch,Ios7,Uitoolbar,如果使用标准的UIViewController或UITableViewController,则导航栏和工具栏在内容顶部显示为半透明。但是,如果我使用自己的自定义视图层次结构,我将不再看到效果。在下面的屏幕截图中,您可以看到表视图没有显示在粘性工具栏下面 UIToolbar的初始化如下: - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { self.

如果使用标准的
UIViewController
UITableViewController
,则导航栏和工具栏在内容顶部显示为半透明。但是,如果我使用自己的自定义视图层次结构,我将不再看到效果。在下面的屏幕截图中,您可以看到表视图没有显示在粘性工具栏下面

UIToolbar
的初始化如下:

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        self.translucent = YES;
        self.barTintColor = [UIColor colorWithRed:1.0f green:0.0 blue:0.0 alpha:0.1f];

        // irrelevant code here
    }
    return self;
}
UIViewController
的实际
loadView
相当长,因此我将仅显示布局图:

 ___________________________
|  _______________________  | <-- UIView (self.view)               
| |                       | |
| |  UITableView          | |
| |                       | |
| |                       | |
| |                       | |
| |                       | |
| |                       | |
| |                       | |
| |                       | |
| |                       | |
| |                       | |
| |_______________________| |
|  _______________________  |
| | UIToolbar             | |
| |_______________________| |
|___________________________|

的文档是一行的,所以我一直在想,为了使工具栏透明,还需要做哪些相关的事情。

您的tableView应该扩展并填充整个视图。然后可以设置contentInset,它是顶部导航栏和底部工具栏的高度。这样你就可以看到内容的流动。下面是一段关于如何做到这一点的代码。确保tableView位于视图层次结构的底部,并且导航栏和工具栏位于其顶部

 self.tableView.contentInset = UIEdgeInsetsMake(NavBarHeight, 0, ToolBarHeight+distance_Of_ToolBar_FromThe_Bottom_of_view, 0);

我试过了,但是UIToolBar仍然很不透明。即使我将
bartincolor
设置为
[UIColor clearColor]
,您也必须眯着眼睛才能看到它后面的任何东西。您是否尝试设置
工具栏。半透明
=是?已经有了。无论如何,我只是决定使用普通的UIView,这样我就可以控制不透明度了。
 self.tableView.contentInset = UIEdgeInsetsMake(NavBarHeight, 0, ToolBarHeight+distance_Of_ToolBar_FromThe_Bottom_of_view, 0);