Xcode-在主视图控制器中执行弹出窗口中的操作

时间:2014-09-10 18:36:50

标签: objective-c xcode ipad segue popover

我正在创建一个需要登录或注册的服务。登录和注册都是在主要注销屏幕上的弹出视图中执行的。

因此,我需要触发一个segue,以便在我的popover视图控制器的不同视图控制器中执行。如何和/或可能?

这是我的'registerViewController'(popover视图)中的注册码,我想从我的'loggedOutViewController'执行segue到我的'mainViewController'(登录视图)。

registerViewController.m:

- (void) registerNewUser {

PFUser *newUser = [PFUser user];
newUser.email = _emailField.text;
newUser.username = _usernameField.text;
newUser.password= _passwordField.text;
newUser[@"name"] = _nameField.text;

[newUser signUpInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
    if (!error) {
        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Success" message:@"Registration Successful" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
        [alert show];

        //Where I need to call the segue

    } else {
        NSString *errorString = [error userInfo][@"error"];
        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Oops" message:errorString delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
        [alert show];
    }
}];

道歉,如果已经提出这个问题,我无法在任何地方找到问题的解决方案,如果您想要/需要更多信息或代码,请告诉我。

1 个答案:

答案 0 :(得分:0)

很难确切知道您期望的行为是什么。这是一种方法:

// Display settings view
UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
SettingsVC *report = [storyboard instantiateViewControllerWithIdentifier:@"SettingsViewController"];
[self presentViewController:report animated:YES completion:nil];

将故事板和所需的视图控制器名称替换为您自己的名称。另外,将SettingsVC替换为所需视图控制器的名称,确保视图控制器正确无误。