iOS - 如何在单击按钮时移动到其他页面

时间:2011-11-02 18:04:56

标签: iphone objective-c ios ipad uiviewcontroller

我是iOS开发新手。我想通过单击按钮从当前页面(CityViewController)转到另一个页面(CountryViewController)。我该怎么办?请原谅我这是一个非常初学的问题。

4 个答案:

答案 0 :(得分:4)

有几种方法。我假设您正在使用UINavigationController。如果是,那么您可以创建VC并在父视图控制器内执行此操作。

    [self.navigationController pushViewController:viewController animated:YES]

答案 1 :(得分:3)

所以基本上你正在尝试构建一个多视图应用程序。有很多方法可以做到这一点。我会列出3个常见的 -

  1. [self.view insertSubview:newViewController.view atIndex:3];
  2. 使用UINavigationController
  3. 最后使用modalViewController - [self presentModalViewController:newViewController animated:YES];
  4. 在第二种方法中,我使用没有UINavigationTabBar的控制器。隐藏此导航栏&提供基于[self.navigationController popViewControllerAnimated]应该发生的自定义按钮。

答案 2 :(得分:0)

ViewController2 *newView = [self.storyboard instantiateViewControllerWithIdentifier:@"viewController"];
[self.navigationController pushViewController:newView animated:YES];

在ViewController2“身份检查器”中设置故事板ID。

答案 3 :(得分:-1)

我遇到了同样的问题。用户登录后需要重定向到不同的页面,否则默认情况下需要留在主页。

以下是代码段。

下面

 N_loginmsg = @"success";
    NSString *N_loginmsg = [[NSUserDefaults standardUserDefaults]objectForKey:@"remember_loginmsg"];
        NSString *storyboardId;
        if (N_loginmsg != nil && [N_loginmsg isEqual:@"Success"])
        {
            storyboardId = @"ListViewController";
        }
        else
        {
            storyboardId = @"HomeViewController";
        }
        self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
        UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
        UIViewController *initViewController = [storyboard instantiateViewControllerWithIdentifier:storyboardId];
        UINavigationController *mynav = [[UINavigationController alloc]initWithRootViewController:initViewController];
        self.window.rootViewController = mynav;
        [self.window makeKeyAndVisible];