【问题标题】:How to switch between different UIViewcontrollers如何在不同的 UIViewcontroller 之间切换
【发布时间】:2011-08-08 13:23:23
【问题描述】:

我想编写一个自定义开关,它将位于两个自定义 tabBar。其结构如下——

我想使用 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

【问题讨论】:

    标签: ios uiviewcontroller uiswitch


    【解决方案1】:

    试试这个

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

    [self.view addsubview:viewcontroller.view];
    

    【讨论】:

      【解决方案2】:

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

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

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

      希望这会有所帮助。

      【讨论】:

      • TNX!我想使用自定义导航控制器。我的应用程序包含三个级别。顶层是 - 顶部标签栏。如果我们在顶部选项卡之间切换,我们也会得到不同的视图控制器,其中包含一个包含选项卡栏。在此选项卡视图中,我们可以看到主要内容 - 该内容也是视图控制器。在视图控制器之间切换的正确方法是什么?
      • 您可以使用custom navigation controller 代替self.view。试试看,我的感觉是应该可以的...
      • popToViewController 是 NavigationController 上的方法,而不是视图上的方法
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      相关资源
      最近更新 更多