Sid*_*Sid 1 uitabbarcontroller ios
我试图隐藏特定视图的标签栏,并在触摸屏幕时显示它.我希望它具有与youtube类似的效果,例如当播放视频时,播放器控件被隐藏并触摸屏幕,控件再次显示.
您可以使用此代码显示和隐藏选项卡栏:
@implementation UITabBarController (Extras)
-(void)showTabBar:(BOOL)show {
UITabBar* tabBar = self.tabBar;
if (show != tabBar.hidden)
return;
UIView* subview = [self.view.subviews objectAtIndex:0];
CGRect frame = subview.frame;
frame.size.height += tabBar.frame.size.height * (show ? -1 : 1);
subview.frame = frame;
tabBar.hidden = !show;
}
Run Code Online (Sandbox Code Playgroud)
此代码有效,最近Apple在一个应用程序中被接受,并且(作为一个类别)我发现比其他解决方案更容易使用.
如果要隐藏tabBar,只需调用:
[self.tabBarController showTabBar:NO];
Run Code Online (Sandbox Code Playgroud)
同样,要再次显示它,请将此消息YES作为参数调用.
注意:不知怎的,我忘记了我在过去的某个时刻已经查看了这段代码,现在我不确定是谁最初回答了这个问题.索拉布回答了类似的问题.Saurabh提供的代码遍历所有寻找的视图isKindOfClass:[UITabBar class],而我只是抓住第一个子视图 - 面对更新时可能会很脆弱.
| 归档时间: |
|
| 查看次数: |
8097 次 |
| 最近记录: |