2

私の質問は...

UISegmentedControl で、navigationItem に 2 つのボタンを作成しました。1 つのボタンには自分のクラスを表示し、もう 1 つのボタンには別の XIB を表示する必要があります。欠けているのは、この別のクラスを表示する方法だけですか?

-(IBAction)segmentAction:(id)sender

{

    UISegmentedControl *segmentedControl = (UISegmentedControl *)sender;

    segmentedControl.momentary = YES;

    NSInteger selectedSegment = segmentedControl.selectedSegmentIndex;

    MapViewController *mapController = [[MapViewController alloc]init];(Other class)

    if(selectedSegment == 0) {

        [self.view setHidden:NO];(MOSTRA)

        [mapController.view setHidden:YES];

        NSLog(@"Lista");

    } else {

        [self.view setHidden:YES];

        **[mapController.view setHidden:NO];(Dont show anything)**

        NSLog(@"Mapa");

    }

}
4

1 に答える 1

0

UIViewあなたのコード サンプルでは、​​マップ コントローラーの を親ビュー (サンプルでは self.view だと思います) に追加したものは何も表示されませんaddSubview。だから見えない。

iOS 5 以降、他の UIViewController サブクラスから追加したビューを管理するには、コンテナー ビュー コントローラーを使用する必要があります。

UIViewController クラス リファレンス

最善の解決策は、切り替えに使用する両方のビュー コントローラーを含む親コントローラーを用意することです。

または、 UITabViewController がソリューションであり、異なる .xml を切り替えるために使用されますUIViewController。しかし、カスタマイズが必要だと思うので、以前のソリューションが機能するはずです。

于 2012-06-15T10:34:16.023 に答える