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);