タブバーコントローラーを隠す方法は? UIImageViewをダブルタップしてタブバーコントローラーを非表示にしたい。
このコードを試してください:
[self.tabBarController.tabBar setHidden:YES];
tabbarcontrollerを定義する必要がある場所...
[〜#〜]編集[〜#〜]
AppDelegateFileName *appDelegate = (AppDelegateFileName *) [[UIApplication sharedApplication] delegate];
[appDelegate.tabbarController.tabBar setHidden:YES];
これを行う前に、appDelegate .hファイルにtabbarController
の@property宣言を作成してください。
ストーリーボードを使用している場合は、ViewControllerの属性インスペクターのチェックボックスをオフにするだけです。 「プッシュ時にボトムバーを隠す」と呼ばれています。確かに非常に便利で、tabBarのないviewControllerから戻った後にtabBarの表示を再度処理する必要はありません。これがどのXCode-versionで導入されたかはわかりませんが、XCode 6 +にはあります。
Tap Gesture Recognizerを使用して、UIImageView
のダブルタップを検出します。次に、ダブルダブルタップの検出時にメソッドを呼び出します。そのメソッドに次のコード行を追加します。
self.tabBarController.tabBar.hidden=YES;
お役に立てれば。
アニメーションスタイルでタブバーコントローラーを非表示/表示するには、以下のコードを使用します。hiddenTabBar
はBOOL
変数です。
- (void) hidetabbar {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.0];
for(UIView *view in objtabbar.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;
}
Swift 2.1:
self.tabBarController!.tabBar.hidden = true
UIViewControllerにはプロパティがあります
@property(nonatomic, readonly, retain) UITabBarController *tabBarController
設定できるもの:
self.tabBarController.tabBar.hidden = YES;
Objective-C
[self.tabBarController.tabBar setHidden:YES];
Objective-C 2.0
self.tabBarController.tabBar.hidden = YES;
IOS 9より前のSwift
tabBarController?.tabBar.hidden = true
Swift iOS 9以降
tabBarController?.tabBar.isHidden = true
Swift 5以上の追加のトリック:非表示のプロパティを変更したい場合は、それを切り替えます
if let t = tabBarController?.tabBar {
t.isHidden = t.!isHidden
}
// is equal to
tabBarController?.tabBar.isHidden.toggle()
Objective-C
[self.tabBarController.tabBar setHidden:YES];
スウィフト3
self.tabBarController?.tabBar.isHidden = true
スウィフト2
self.tabBarController?.tabBar.hidden = true
ビューを新しいビューにプッシュするときにこれを試してください。
self.tabbarconroller.tabbar.hidden = YES;