2012-01-09 11 views
0

だから、私は疑問を抱いていました。現在、私は開発中のアプリを学んでいる途中です。 (申し訳ありませんが、新しいユーザが直接アプリの上にこれらの2つのバーは何をしている、トップタブバーコントローラまたはセグメント化

http://images.thoughtsmedia.com/resizer/thumbs/size/600/at/auto/1291813093.usr105634.jpg

私の質問がある:)画像Dを投稿カント:私はここで、画像のように見えるのiPadでCNBCのアプリを見ましたか? ?(市場とインデックスを持つもの)

これはタブバーコントローラですか?もしそれが通常のようにアプリケーションの最下部に配置するのではなく、どうやってタブバーの中に別のタブバーを置くのですか?

私はあなたの助けに感謝し、私の悪い英語のため申し訳ありません:3

+0

これは、タブバーコントローラを使用せずに作成できます。さらに、ios5ではコンテナビューコントローラを独自に定義することができます。 – dasdom

+1

私はそれがタブバーController.itではなく、カスタムUibuttonsが追加されたカスタムビューだと思います。 –

+0

自分のコンテナビューコントローラ???正直言って私はまだ非常に新しいので、私は自分のカスタムコンテナを作るのではなく、他の解決策を好むかもしれません><、しかし、情報のためにたくさんありがとう。 @mudit、あなたはそれがUIButtonですか?アプリが動作する方法のために、下のバーが上のバーの内側にあり、バーの内側の各グリッドがそれぞれのビューを保持しているように見えます(それがタブバーコントローラだと思うようになります) –

答えて

0

大丈夫、これまで私は、カスタマイズされたタブバーとセグメント化されたコントローラの両方を試してみたことで、私は、これに対する解決策を発見した、しかし、私はそれらの両方を発見しました危険なので、私は簡単なボタン

と少し実験はここでの主なアイデア

最初のですか、私はツールバーを設定し、それを背景

を与える

複雑すぎます

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軸+(ツールバーの高さ)を指定します。

関連する問題