【问题标题】:Change views with UISegmentedControl with another XIB on selectedSegmentIndex使用 UISegmentedControl 和 selectedSegmentIndex 上的另一个 XIB 更改视图
【发布时间】:2012-06-18 02:15:27
【问题描述】:

我的问题是……

在我的 UISegmentedControl 上,我在 navigationItem 上创建了两个按钮,在一个按钮上我显示我自己的类,另一个按钮我需要显示另一个 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");

    }

}

【问题讨论】:

    标签: xcode uiview uiviewcontroller uisegmentedcontrol


    【解决方案1】:

    在您的代码示例中,我没有看到您使用addSubview 将地图控制器的UIView 添加到父视图(我认为您的示例中为self.view)的任何内容。所以它是不可见的。

    从 iOS 5 开始,您应该使用容器视图控制器来管理您从其他 UIViewController 子类添加的视图。

    UIViewController Class Reference

    最好的解决方案是,您有一个父控制器,其中包含您要用于切换的两个视图控制器。

    或者也许 UITabViewController 是一个适合你的解决方案,用于在不同的UIViewController 之间切换。但我认为您需要一些自定义,所以之前的解决方案应该可以工作。

    【讨论】:

    • 我创建了另一个控制器,并像你说的那样包含了两个视图,现在可以正常工作了,感谢您的回复!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-25
    • 1970-01-01
    • 1970-01-01
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    相关资源
    最近更新 更多