2011-02-02 13 views
1

このMonoTouch関連の質問はありますが、Objective/Cプログラマーも同様に役立つと思います。TabBarコントローラを非表示にする

TabBarControllerにはいくつかのタブがあります。私はtabBarなしで表示するために、私のhome viewController(tabBarに追加されている)を望みます。 私はそれを行う方法は、そのコントローラのHidesBottomBarWhenPushedをtrueに設定することだと思った。

homePage = new HomePageController(); 
homePage.HidesBottomBarWhenPushed = true; 

homePage.TabBarItem = new UITabBarItem("Home", new UIImage("Images/Icons/home.png"), 0); 

しかし、NavigationControllerでTabBarを使用する場合、つまり実際にコントローラをプッシュする場合にのみ有効です。 tabBarControllerに含まれている単純なviewControllerのためだけにそれを行う方法があるのだろうかと思います。

答えて

2

タブバーのhiddenプロパティをYESに設定できます。 (またはtrue、MonoTouch)

+0

Howdy Moshe。ご回答どうもありがとうございました。 –

+1

しかし、これは私が得ようとしたものではありません。 hiddenプロパティをtrueに設定すると、TabBarの位置に白い四角形が表示されます。私はそのTabBar上にViewControllerを配置することができるようにしたい。 私は間違っていると、TabBarにインデックス1があり、ViewControllerに0が表示されているので、私はViewControllerをフロントに持ってきてくれました。それはうまくいきませんでした。 これ以上のご支援をいただければ幸いです。 –

+0

また、ビューのフレームのサイズを変更する必要があります。後でコードを投稿しようとします。 – Moshe

0

実際、tabBarControllerのtabBar領域をカバーすることはできません。 Mosheが言ったように、隠されたプロパティを設定することもできます。あるいは、不透明でも再生できますが、何も隠すことはできません。 しかし、素晴らしい代替ソリューションがあります。通常のコントローラよりも常に高いインデックスを持つモーダルビューを使用できます。したがって、それはすべてをカバーします。

homePageContent.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; 
     homePageContent.ModalTransitionStyle = UIModalTransitionStyle.CoverVertical; 

     this.PresentModalViewController(homePageContent, false); 

     base.ViewWillAppear (animated); 
関連する問題