【问题标题】:How to redirect to a page如何重定向到页面
【发布时间】:2015-08-14 18:46:13
【问题描述】:

我是 IOS 新手。我创建了一个简单的故事板布局,如下所示:

-> Navigation --> login --> Welcome screen

当我构建并运行设置时,我可以看到登录页面,其中包含用户名和密码文本字段以及一个按钮(“登录”)。

但我无法理解当用户在用户名和密码文本字段中输入内容时,我应该如何将页面重定向到欢迎屏幕。

为了实现这一点,我在登录页面中添加了一个控制器 LoginViewController,并在该控制器的 .h 文件中添加了以下代码:

#import "LoginViewController.h"

@interface LoginViewController ()
@property (weak, nonatomic) IBOutlet UITextField *username_text;
@property (weak, nonatomic) IBOutlet UITextField *pwd_text;

@end

@implementation LoginViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
- (IBAction)login_btn:(id)sender {
    if([self validOrNot]){
//        UIviewcontrollerWelcom *vc = [[DashboardViewController alloc] init];
//        [self presentViewController:vc animated:YES completion:nil];

        UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:WelcomeViewController];
        [self presentViewController:navigationController animated:YES completion: nil];

    }
}
- (BOOL)validOrNot{
    if ([self.pwd_text hasText] && [self.username_text hasText]) {
        return YES;
    }
    else
    {
        return NO;
    }
}

当用户在登录页面的用户名和密码文本字段中输入内容时,请指导我如何重定向到下一页,即欢迎屏幕。

【问题讨论】:

  • 如我所见,您正在尝试展示导航控制器。但我认为你需要展示欢迎页面。我说的对吗?
  • 当用户在用户名和密码中输入内容,然后按下“登录”按钮时,我正在尝试从登录页面导航到欢迎页面。
  • 您是否创建了欢迎页面文件?
  • @T_77 是的,我已创建它们并将其附加到欢迎视图。控制器名称为WelcomeViewController

标签: ios objective-c uinavigationcontroller uistoryboard


【解决方案1】:

为故事板中的欢迎页面视图控制器提供故事板 ID。

您可以使用以下代码行显示欢迎页面视图控制器:

 WelcomeViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"WelcomeView"];

 [self presentViewController:vc animated:YES completion:nil];

有关设置故事板 ID,请参阅link :

【讨论】:

  • 我需要使用导航控制器来执行此操作。尽管,我试过这个,我得到两个错误use of undeclared identifier vcuse of undeclared identifier WelcomeView
  • WelcomeView 是您需要在情节提要上提供给欢迎视图控制器的情节提要 ID
  • 需要导入welcomeViewController.h文件
【解决方案2】:

试试这个:

- (IBAction)login_btn:(id)sender {
   if([self validOrNot]){
 WelcomeViewController *wVC = [[WelcomeViewController alloc]init];

 UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:self];
[navigationController pushViewController:wVC animated:YES];


}
}

【讨论】:

  • 我收到错误,use of undeclared identifier wVC。我认为WelcomeViewController 在某种程度上无法识别。我应该怎么做才能让它被识别?
  • 使用#import "WelcomeViewController.h" 语句在您的 LoginViewController.h 文件中导入 WelcomeViewController
  • 谢谢它正在工作.. 但是为什么当我没有在用户名和密码字段中输入任何内容时它会将我重定向到欢迎页面?当我在这些字段中输入内容时,它不会重定向到欢迎页面。
  • 你用的是哪个iOS版本??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多