一个UIButton两个场景只有一个segue,需要条件代码

ipa*_*tch 5 xcode objective-c presentmodalviewcontroller ios uistoryboardsegue

我在我的Xcode项目中的storyboard文件中创建了几个场景,并且加载的第一个场景是用户登录屏幕.当用户登录UIButton时,"登录"会将用户带到欢迎屏幕.我在故事板中使用模态segue设置了它.我希望名为"admin"的用户成为欢迎管理界面.我很确定只有一个segue与一个对象关联,即故事板中的UIButton,所以我很难过如何完成登录以将管理员带到管理员欢迎屏幕,并将所有其他用户带到用户欢迎屏幕.我真的不想创建两个单独的登录按钮,所以这不是一个选项.

我遇到了一些类似问题的stackoverflow帖子,但所有答案似乎都有点复杂.请记住,我是Xcode的新手,所以如果你在答案中粘贴代码,请指定代码应该放入哪个文件(这会帮助我很多).我将发布到目前为止我的故事板的图片,以帮助演示我正在谈论的内容的可视化图表.

在此输入图像描述

Can*_*pus 6

如果我正确理解了您的问题,以下是您需要采取的步骤:

  1. WelcomeViewController- 你有用户名/密码登录按钮,控制+拖动UIViewControllerWelcomeScreen,然后Modal从弹出菜单中选择(通过从UIViewController拖动我的意思是,选择UIViewController故事板,底部有一个圆形图标,从那到目的地视图控制器).将segue标识符命名为"UserSegue"

  2. 重复步骤1,而是控制+将其拖动到Admin屏幕.将segue标识符命名为"AdminSegue"

  3. 你现在需要子类WelcomeViewController,

  4. 实行 -(IBAction)login:(id)sender

    - (IBAction)login:(id)sender {
    
        // assuming you have hooked up the user name text field
    
        if ([self.usernameTextField.text isEqualToString:@"admin"]) {
            [self performSegueWithIdentifier:@"AdminSegue" sender:sender];
        }
        else {
            [self performSegueWithIdentifier:@"UserSegue" sender:sender];
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  5. 在storyboard中,将登录按钮连接到步骤4中的方法.