自定义标签栏应用程序ipad隐藏标签栏
问题描述:
嗨,我正在开发一个iPad应用程序。我习惯自定义标签栏。屏幕左侧的Tabbar按钮。我想看全屏。所以我试图隐藏tabbar的代码,但没有隐藏。我在屏幕底部看到灰色空间。加里空间高度IOS 7约49像素,但IOS 6约20像素。我能做什么。自定义标签栏应用程序ipad隐藏标签栏
- (void)hideTabBar
{
for(UIView *view in self.view.subviews)
{
if([view isKindOfClass:[UITabBar class]])
{
view.hidden = YES;
break;
}
}
}
答
你可以做这样的事情定制UITabBar视图控制器,
for(UIView *view in self.tabBarController.view.subviews)
{
if([view isKindOfClass:[UITabBar class]])
{
[view setFrame:CGRectMake(view.frame.origin.x, 1024, view.frame.size.width, view.frame.size.height)];
}
else
{
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 1024)];
}
}
注:这是在iOS 6中测试早期版本,所以如果你想运行在ios 7以及更多设置框架和框架的一些标志。
答
在viewDidLoad中
[self.tabBar setHidden:YES];
[self.view addSubview:self.viewButton]; // you custom buttons array view
答
苹果的实现更加优雅,因为它将视图大小拉伸到足以在屏幕外获得其tabBar
,并且同时它将自动拉伸包含的视图控制器的视图。
如果你只是隐藏你的标签栏,或者没有“下面的内容”(你的灰色空间)的内容,或者它不会识别轻敲。
你应该更好地继承UITabBar
,并绘制它你喜欢,但仍然让UITabBarController
适当地显示和隐藏它。
编辑:
只是意识到隐藏标签栏是不是在默认的SDK,但在category我很久以前作出。
无论如何拉伸UITabBarController
的视图框架在我看来是“隐藏”标签栏的最优雅的方式(实际上将它从屏幕上移开),因为您不必处理子视图或搜索标签栏直接框架。
有关this的问题。
谢谢@Viruss mca。此代码适用于IOS 6和更早版本。但不像你说的那样工作IOS 7。我添加了屏幕截图。你能帮我 – hiwordls
@aoneki:检查这个http://imgur.com/DT7emnB –
以前的答复正在工作。但由ios 5.0底部的20像素黑色空间组成。如果我转动屏幕,这个黑色空间会丢失。 ios 6没有任何问题 – hiwordls