如何在不同的UIView控制器之间切换

时间:2011-08-08 13:23:23

标签: ios uiviewcontroller uiswitch

我想编写一个自定义开关,它将位于两个自定义tabBar中。其结构如下 - enter image description here

我想使用uiviewcontroller。

现在我使用以下代码:

- (void)changeViewController:(NSInteger)sender{

    if(viewController){
        [viewController.view removeFromSuperview];
        [viewController release];  
        NSLog(@"released");
    }

    switch (sender) {
        case 1:      
            viewController = [[VC1 alloc] init];
            break;
        case 2:
            viewController = [[VC2 alloc] init];
            break;
        case 3:
            viewController = [[VC3 alloc] init];
            break;

        default:
            break;
    }

    [viewController.view setFrame:CGRectMake(0, 100, 320, 380)];
    [self.view addSubview:viewController.view];

}

但我认为这是错误的!

可以在这样的结构中使用 - presentModalViewControllerdismissModalViewControllerAnimated或其他方法来处理相似性navigationViewController

2 个答案:

答案 0 :(得分:2)

试试这个

[self.navigationController pushViewController:viewController animated:YES];

[self.view addsubview:viewcontroller.view];

答案 1 :(得分:0)

你可以尝试这个 - [self.navigationController pushViewController:viewController animated:NO];

[self.navigationController popToViewController:targetController animated:YES];

我真的会为navigationController订阅内存管理和响应迅速且无缝的行为......

希望这会有所帮助。