- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个 UITabBarController .我想隐藏 UITabBar当用户进入中间标签时。中间选项卡加载 B 类的 View Controller 。这是流行的相机应用程序的行为 Instagram .他们的中间标签加载了一个全屏摄像头。
------------- ------------- -------------
| VC | | VC | | VC |
| for | | for | | for |
| A | | B | | C |
| | | | | |
|------------ | | |------------
{ A } B | C | | | | A | B { C }
------------- ------------- -------------
我们已经有很多关于在推送特定 View Controller 时如何隐藏 UITabBar 的问题。普遍的共识是:
b.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:b
animated:YES];
我的问题是,我从未将 UITabBarController 子类化。我在 Interface Builder 中创建了它。我从不手动推送我的 View Controller ,所以上面的解决方案对我不起作用。
在我的中间 View Controller 中,我在构造函数中打开 hidesBottomBarWhenPushed
。这没有效果。
@implementation B
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.hidesBottomBarWhenPushed = YES;
}
return self;
}
我还尝试将我的应用委托(delegate)分配为 UITabBarControllerDelegate .当 UITabBarController 通知我选项卡已被点击时,我仅为中间 View Controller 打开 hidesBottomBarWhenPushed
。这也无法隐藏 UITabBar
。
#pragma mark UIApplicationDelegate
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
[window addSubview:self.rootViewController.view];
[window makeKeyAndVisible];
self.rootViewController.delegate = self;
}
#pragma mark UITabBarControllerDelegate
- (void) tabBarController:(UITabBarController *)tabBarController
didSelectViewController:(UIViewController *)viewController
{
if ([viewController isKindOfClass:[B class]]) {
viewController.hidesBottomBarWhenPushed = YES;
} else {
viewController.hidesBottomBarWhenPushed = NO;
}
}
最佳答案
- (void) hidetabbar:(BOOL)hiddenTabBar
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
for(UIView *view in self.uiTabBarController.view.subviews){
if([view isKindOfClass:[UITabBar class]]) {
if (hiddenTabBar) {
[view setFrame:CGRectMake(view.frame.origin.x, 431, view.frame.size.width, view.frame.size.height)];
} else {
[view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];
}
} else {
if (hiddenTabBar) {
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 431)];
} else {
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];
}
}
}
[UIView commitAnimations];
hiddenTabBar = !hiddenTabBar;
}
关于iphone - 如何在我没有子类化的 UITabBarController 上隐藏 UITabBar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7576430/
我无法从一个页面移动到另一页面而不丢失 tabBarController 我使用 didSelectRow,我可以恢复数据以及更改页面,除了我的 View 的 tabBar 菜单不显示 overrid
我遇到了一些非常奇怪的事情。如果我的 UITTabBar isTranslucent 属性设置为 false,它会添加这个奇怪的双像(或 View ?我不知道是什么它确实位于 UITabBar 之上。
升级到iOS 13后,出现了几个标签栏相关的问题。我已经修复了大部分,但剩下的一个是无法覆盖标签栏的阴影图像。以下代码适用于 iOS 12 及更低版本: [[UITabBar appearance]
我有一个用 Swift 编写的 iOS 应用程序,其中包含 UITabBarController 和 5 个 UIViewControllers。现在,我有一堆 UIViewControllers,它
尝试将 UITabBar 项添加到现有选项卡栏时,是否还有其他人遇到此问题?当从对象库中拖出选项卡栏项目时,Xcode 只是卡住,然后崩溃。 最佳答案 我知道这已经有一个月了,但如果您还没有这样做,更
我正在尝试向 UITabBar 添加 subview ,它应该位于其他 UITabBar subview 之后。 我在 UITabBarController 的子类中添加了这样的 subview :
除了第一次切换到选项卡时,最初触发 ViewDidLoad 时,切换到(重新选择)该选项卡的所有后续操作似乎都不会触发 ViewDidLoad,也不会触发任何其他方法。 View 似乎被缓存并立即重新
我在其中使用了 Tabbar viewcontroller,我添加了 5 项并且我给出的图像昆虫是 (24,0,0,6)。xib中添加了所有按钮图片[在Bar项下-->image]请帮助。谢谢。 最佳
我搜索了很多,相信我,我遇到了很多问题和示例代码,但没有一个符合我的要求,这太疯狂了,怎么没有答案。 我的具体要求:-1. 我想要一个 UITabBar 而不是 UITabBarController2
第一个 View 中的标签栏是我想要的。因为第二个 View 不是 ScrollView ,所以我无法使用 self.edgesForExtendedLayout = UIRectEdge.Botto
我创建了一个 StoryBoard 项目并添加了一个 UITabBar以我的第一眼和一些UITabBar上面的项目。我正在使用 UITabBar而不是 UITabBarController因为 UIT
我有一个 tableViewController,一旦点击一个单元格,它就会带你到 FirstViewControllerFirstViewController 有一个包含 4 个项目的 UITabB
看来[[UITabBar appearance] setSelectedImageTintColor:[UIColor redColor]];在 iOS7 下不再正常工作。我可以设置背景图像,但选定的
我有一个 UITabBar使用 Interface Buider 进行设置,并且仅当我未设置全局应用程序色调颜色时,图像突出显示才能正常工作: 当我使用 [[UIView appearance] se
长期读者,第一次海报。请温柔点:P 我正在开发一个应用程序,并且有一个 UITabbar 元素的背景图像,它在顶部的几个像素是透明的。我进行了广泛的搜索,尝试了许多建议我可以找到的解决方案(将色调、背
我需要将 uitabbar 选择的色调颜色从蓝色更改为黄色。我该怎么做???谁能帮我解决这个问题吗? 最佳答案 这是一个很好的起点:how to change UITabbar selected co
我的应用程序中有 5 个选项卡,第一个选项卡是欢迎选项卡,当用户单击第一个选项卡时它会显示欢迎屏幕,但仅在第一个选项卡上我想隐藏选项卡栏我想隐藏第一个选项卡上的选项卡栏,因为它是一个受欢迎的 View
有人可以告诉我 iPhone 编程中 UITabBarController 中标签栏的确切大小是多少吗? 最佳答案 界面构建器表示其尺寸为 320x49,其中 49 为高度。 但是,您不应该依赖于硬编
我找不到任何向图标添加“通知”的引用,最好是添加到 UITabBar 中,如所附图片,编号 8。 我想我不必手动创建圆圈内的所有数字,或者每次需要时创建它并使用一些图标手动更新图像? 谢谢 r。 最佳
我有一个带有标签栏的简单应用程序,它根据用户输入禁用一个或多个栏项目。我知道我需要使用我尝试过使用的 UITabBarDelegate 。但是,当我调用委托(delegate)方法时,我收到未捕获的异
我是一名优秀的程序员,十分优秀!