大丈夫、これまで私は、カスタマイズされたタブバーとセグメント化されたコントローラの両方を試してみたことで、私は、これに対する解決策を発見した、しかし、私はそれらの両方を発見しました危険なので、私は簡単なボタン
と少し実験はここでの主なアイデア
最初のですか、私はツールバーを設定し、それを背景
を与える
複雑すぎます
viewController.h
//adding my viewcontrollers
@class notLoggedHome;
@class LoggedInHome;
@class NABViewController;
//defining all the objects
@properties (nonatomic, strong) UIToolBar *mainToolBar;
@properties (nonatomic, strong) UIButton *toolBarBut1, *toolBarBut2, *toolBarBut3;
@properties (nonatomic, strong) UIImageView *logoImage;
@property (nonatomic, strong) notLoggedHome *viewNotLoggedHome;
@property (nonatomic, strong) LoggedInHome *viewLoggedInHome;
@property (nonatomic, strong) NABViewController *viewNAB;
@properties NSInteger lastTag;
-in viewController.m
@synthesize mainToolBar, toolBarBut1, toolBarBut2, toolBarBut3;
@synthesize logoImage, lastTag;
@synthesize viewNotLoggedHome, viewLoggedInHome, viewNAB;
-(void)viewDidLoad
{
lastTag = 100;
self.view.backgroundColor = [UIColor colorWithRed:21.0/255.0 green:21.0/255.0 blue:21.0/255.0 alpha:1];
//---
//---fakeTabBar set up===
viewNotLoggedHome = [[notLoggedHome alloc]init];
viewLoggedInHome = [[LoggedInHome alloc]init];
viewNAB = [[NABViewController alloc]init];
//creating the fakeTabBar
mainToolBar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 70)];
[mainToolBar setBackgroundImage:[UIImage imageNamed:@"menu_bar.jpg"] forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];
//defining images
imgHome = [UIImage imageNamed:@"menu_home.png"];
imgHomeS = [UIImage imageNamed:@"menu_home_s.png"];
imgLogo = [UIImage imageNamed:@"menu_bar_logo_ep.png"];
UIImageView *logoImage = [[UIImageView alloc]initWithImage:imgLogo];
logoImage.frame = CGRectMake(0, 0, imgLogo.size.width, imgLogo.size.height);
//--button setting====
toolBarBut1 = [UIButton buttonWithType:UIButtonTypeInfoLight];
[toolBarBut1 setFrame:CGRectMake(imgLogo.size.width, 1, imgHome.size.width, imgHome.size.height)];
toolBarBut1.tag = 0;
toolBarBut1.backgroundColor = [UIColor colorWithWhite:1 alpha:0];
[toolBarBut1 setImage:imgHome forState:UIControlStateNormal];
[toolBarBut1 setImage:imgHomeS forState:UIControlStateSelected];
[toolBarBut1 addTarget:self action:@selector(barPressed:) forControlEvents:UIControlEventTouchUpInside];
//do the same with the other 2 button
//---------------------
[mainToolBar addSubview:logoImage];
[mainToolBar addSubview:toolBarBut1];
//do the same with the other 2 button
[self.view addSubview:mainToolBar];
[super viewDidLoad];
}
-(void)barPressed:(id)sender
{
UIButton *button = (UIButton *)sender;
if(button.tag == 0 && button.tag != lastTag)
{
[viewNAB removeFromParentViewController];
[viewNotLoggedHome removeFromParentViewController];
[self.view addSubview:viewLoggedInHome.view];
button.selected = YES;
}
if(button.tag == 1 && button.tag != lastTag)
{
[viewNAB removeFromParentViewController];
[viewLoggedInHome removeFromParentViewController];
[self.view addSubview:viewNotLoggedHome.view];
button.selected = YES;
}
if(button.tag == 2 && button.tag != lastTag)
{
[viewLoggedInHome removeFromParentViewController];
[viewNotLoggedHome removeFromParentViewController];
[self.view addSubview:viewLoggedInHome.view];
button.selected = YES;
}
lastTag = button.tag;
}
-inので、主なアイデアは、のようにツールバーにUIButton(単数または複数)を割り当て、ツールバーを使用して偽タブバーを作成しています偽のtabbaritemを作成し、各ボタンに後でviewcontrollersを切り替える機構を与える(実装ファイルで最初にviewcontrollerを割り当てる必要があります)
これはうまくいきます。それ以外の場合はツールバーを後でカバーするため、Y軸+(ツールバーの高さ)を指定します。
これは、タブバーコントローラを使用せずに作成できます。さらに、ios5ではコンテナビューコントローラを独自に定義することができます。 – dasdom
私はそれがタブバーController.itではなく、カスタムUibuttonsが追加されたカスタムビューだと思います。 –
自分のコンテナビューコントローラ???正直言って私はまだ非常に新しいので、私は自分のカスタムコンテナを作るのではなく、他の解決策を好むかもしれません><、しかし、情報のためにたくさんありがとう。 @mudit、あなたはそれがUIButtonですか?アプリが動作する方法のために、下のバーが上のバーの内側にあり、バーの内側の各グリッドがそれぞれのビューを保持しているように見えます(それがタブバーコントローラだと思うようになります) –