2011-06-23 11 views
0

2つのセグメントを持つUIToolBarの下部にUISegmentedControlを持つビューがあります。表示されたビューはデフォルトで表示1に設定されている必要があります。セグメント2を選択すると、ビュー2などに切り替える必要があります。UISegmentedControlを設定するためのヘルプが必要です

今、セグメント2をクリックするとビュー1が非表示になり、 segmentedControlはどのように表示しますか?ビュー1が非表示になると、コントロールも非表示になります。

合計3つのビューを作成する必要はありますか?ビュー1と2は、セグメント化されたコントロールのみを持つデフォルトビューのサブビューとして表示されますか?

EDIT:

- (void)segmentedControl:(SVSegmentedControl*)segmentedControl didSelectIndex:(NSUInteger)index 
{ 
    LogResultsViewController* v1 = [[LogResultsViewController alloc] initWithNibName: @"LogResultsViewController" bundle:nil]; 
    CalendarController* v2 = [[CalendarController alloc] initWithNibName: @"CalendarController" bundle:nil]; 

    if (index == 0) 
    { 
     [self.view addSubview: v1.view];  
    } 
    else 
    { 
     [self.view addSubview: v2.view]; 
    } 
} 

そして、これは、このビューをロードするために使用するコードです:

- (void)loadView 
{ 
    UIBarButtonItem *actionButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self action:@selector(dismissCalendarView)]; 
    self.navigationItem.leftBarButtonItem = actionButton; 
    [actionButton release]; 

    int statusBarHeight = 20; 
    CGRect applicationFrame = (CGRect)[[UIScreen mainScreen] applicationFrame]; 
    self.view = [[[UIView alloc] initWithFrame:CGRectMake(0, statusBarHeight, applicationFrame.size.width, applicationFrame.size.height)] autorelease]; 
    self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 
    self.view.backgroundColor = [UIColor grayColor]; 
    calendar.frame = CGRectMake(0, 0, calendar.frame.size.width, calendar.frame.size.height); 

    [self.view addSubview:calendar]; 
    [calendar reload]; 
} 

答えて

0

はい、それは正確にあなたがする必要があるものです。ツールバーと他のビューを保持するコンテナビューを設定します。次に、必要に応じて、他の2つのビューをコンテナビューのサブビューとして追加して削除します。

+0

ありがとうございます、私はいくつかの更新されたコードを投稿した質問を確認できますか? –

1

はい、あなた自身の問題を解決したようです。あなたの2つの交換可能なビューは、3つ目のビューの内側にある必要があります。そうでない場合は、親ビューが非表示になっているときに切り替えコントロールが非表示になります。

+0

ありがとう、私はいくつかの更新されたコードを投稿した質問を確認できますか? –

+0

確かに、今何が起こり、あなたの新しいコードで何が*起こっているはずですか? – Moshe

+0

すべてがうまくいった、ありがとう。 –

関連する問題