菜鸟教程小白 发表于 2022-12-13 09:37:44

ios - Objective-C 以编程方式呈现模态序列


                                            <p><p>我在我的 Storyboard中创建了一个现在的模态序列,如下图所示。</p>

<p> <a href="/image/Q7hx5.png" rel="noreferrer noopener nofollow"><img src="/image/Q7hx5.png" alt="enter image description here"/></a> </p>

<p>我的第一个场景有一个带有 Action 的按钮:</p>

<pre><code>- (IBAction)loginButtonPressed:(id)sender {
    ;
}
</code></pre>

<p>进入这个方法:</p>

<pre><code>- (void)Login
{
    NSString *rawString = ;
    NSCharacterSet *whitespace = ;
    ];
    [userName UserLogin:self.idTextField.text andPassWordExists:self.passwordTextField.text completionHandler:^(id responseObject, NSError *error) {
      if (responseObject != nil) {
            NSString *userN,*name;
            NSArray *object = ;
            userN = ;
            name = ;

            self.idTextField = nil;
            self.passwordTextField = nil;
            LHAppDelegate *appDelegate = (LHAppDelegate *)[ delegate];
            ];
            ;

      }else{


            ;

      }
      ;
      ;
      indicatorView = nil;
      ;
      loadingView = nil;

    }];

}
</code></pre>

<p>我正在尝试做的是编程,因此当用户登录时,它们会以模态方式出现在标签栏 Controller 中。</p>

<p>目前,当我点击带有错误凭据的按钮时,我会看到我的自定义警报,但它仍然会将我带到标签栏 Controller 。</p>

<p>基本上我想做的是围绕当前的模态转义设置一个条件。这可能吗?</p>

<p>我找到了这段代码:</p>

<p><code>;</code></p>

<p>我将它添加到我的登录方法中:</p>

<pre><code>- (void)Login
{
    NSString *rawString = ;
    NSCharacterSet *whitespace = ;
    ];
    [userName UserLogin:self.idTextField.text andPassWordExists:self.passwordTextField.text completionHandler:^(id responseObject, NSError *error) {
      if (responseObject != nil) {
            NSString *userN,*name;
            NSArray *object = ;
            userN = ;
            name = ;

            self.idTextField = nil;
            self.passwordTextField = nil;
            LHAppDelegate *appDelegate = (LHAppDelegate *)[ delegate];
            ];
            ;

            ;

      }else{


            ;

      }
      ;
      ;
      indicatorView = nil;
      ;
      loadingView = nil;

    }];

}
</code></pre>

<p>当我使用错误的凭据登录时,它仍然会将我带到标签栏 Controller </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>在上述场景中,它将始终执行不受服务器响应影响的 segue,因为 segue 是通过按钮单击执行的。
为避免这种情况,请按以下方式进行:</p>

<ol>
<li>删除从按钮到 UITabBarController 的 segue 并使其
从 ViewController 到 UITabBarController(从 View 拖动
Controller 到其他 ViewController )。</li>
<li><p>现在,当您响应成功时,请调用以下电话</p>

<p><code></code></p></li>
</ol>

<p>如果要传递参数,请执行以下功能:</p>

<pre><code>-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - Objective-C 以编程方式呈现模态序列,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/31858751/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/31858751/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - Objective-C 以编程方式呈现模态序列