0

我正在开发一个 iPad 应用程序,该应用程序有一个登录控制器,该控制器连接到一个视图控制器。登录控制器是这样声明的:

@interface LoginController : UIViewController <UITextFieldDelegate>

故事板(如预期的那样)有一个用户名和密码文本字段以及一个用于身份验证和登录主应用程序的按钮。该按钮调用 shouldPerformSegueWithIdentifier(...) 函数,视图从登录视图切换到主视图。

当用户在密码文本框上点击返回时,我还想以编程方式模仿这一点。我已经困住了这个事件,但我似乎无法让切换发生。我正在使用的代码是:

    if (theTextField == self.password)
{
    BOOL loginSuccessful = [self shouldPerformSegueWithIdentifier:@"switchToViewer" sender:self];

    if (loginSuccessful == YES)
    {
        [self dismissViewControllerAnimated:YES completion:^{
            NSLog(@"I should be dismissing here!\n");
        }];
    }
}

但是,这种观点永远不会被驳回。我应该注意这是在 iOS 7 上,我不知道这是否重要。有任何想法吗?

编辑:我现在的解决方法是欺骗按钮触摸事件:

[self.signIn sendActionsForControlEvents: UIControlEventTouchUpInside];

哈克,但它有效:)

4

1 回答 1

4
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
于 2013-09-30T21:30:43.167 回答