web-dev-qa-db-ja.com

タブバーコントローラーを非表示にする方法

タブバーコントローラーを隠す方法は? UIImageViewをダブルタップしてタブバーコントローラーを非表示にしたい。

23
Gaurav Patel

このコードを試してください:

[self.tabBarController.tabBar setHidden:YES];

tabbarcontrollerを定義する必要がある場所...

[〜#〜]編集[〜#〜]

AppDelegateFileName *appDelegate = (AppDelegateFileName *) [[UIApplication sharedApplication] delegate];
[appDelegate.tabbarController.tabBar setHidden:YES];

これを行う前に、appDelegate .hファイルにtabbarControllerの@property宣言を作成してください。

38
DShah

ストーリーボードを使用している場合は、ViewControllerの属性インスペクターのチェックボックスをオフにするだけです。 「プッシュ時にボトムバーを隠す」と呼ばれています。確かに非常に便利で、tabBarのないviewControllerから戻った後にtabBarの表示を再度処理する必要はありません。これがどのXCode-versionで導入されたかはわかりませんが、XCode 6 +にはあります。

13
pIkEL

Tap Gesture Recognizerを使用して、UIImageViewのダブルタップを検出します。次に、ダブルダブルタップの検出時にメソッドを呼び出します。そのメソッドに次のコード行を追加します。

self.tabBarController.tabBar.hidden=YES;

お役に立てれば。

6
BooleanBoy

アニメーションスタイルでタブバーコントローラーを非表示/表示するには、以下のコードを使用します。
hiddenTabBarBOOL変数です。

- (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;
}
4
AppsDev

Swift 2.1:

self.tabBarController!.tabBar.hidden = true

UIViewControllerにはプロパティがあります

@property(nonatomic, readonly, retain) UITabBarController *tabBarController

設定できるもの:

self.tabBarController.tabBar.hidden = YES;
1
drct

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()
0
Adobels

Objective-C

[self.tabBarController.tabBar setHidden:YES];

スウィフト3

self.tabBarController?.tabBar.isHidden = true

スウィフト2

self.tabBarController?.tabBar.hidden = true
0
Allen

ビューを新しいビューにプッシュするときにこれを試してください。

self.tabbarconroller.tabbar.hidden = YES;
0
AJPatel