菜鸟教程小白 发表于 2022-12-12 15:29:58

ios - 登录时禁用(登录)按钮


                                            <p><p>您好,我正在开发这个有登录部分的应用程序。我想要的是当我单击登录按钮时,该按钮必须是不可点击的,直到登录成功或失败。我已经尝试添加这一行 <code>doLogin.enabled = NO;</code>
但这没有用。请帮忙。这是我的代码:</p>

<pre><code>- (IBAction)doLogin:(id)sender {

    ;
}

- (void)loginUser
{

    if (! &amp;&amp; !)
    {
      //TODO: check id email pattern is correct
      ;
      [ attemptLoginWithUsername:self.usernameBox.text andPassword:self.passwordBox.text withSuccesBlock:^(AFHTTPRequestOperation *operation, id responseObject)
         {
             ;

             UIViewController *newFrontController = nil;
             PaMapViewController * vc = [ init];
             newFrontController = [ initWithRootViewController:vc];

             SWRevealViewController *revealController = self.revealViewController;
             ;
         } andFailureBlock:^(AFHTTPRequestOperation *operation, NSError *error)
         {
             NSDictionary *dic = ;
             #ifdef DEBUG
             NSLog(@&#34;dic = %@&#34;, dic);
             #endif
             if ([ isEqual:@&#34;phone&#34;])
             {
               NSError *jsonError;
               NSData *objectData = [ dataUsingEncoding:NSUTF8StringEncoding];
               NSDictionary *json = [NSJSONSerialization JSONObjectWithData:objectData
                                                                      options:NSJSONReadingMutableContainers
                                                                        error:&amp;jsonError];
               ;
             }
             else
             {
               ;
             }
         }];
    }
    else
    {
      //TODO: show proper message Test
      NSLog(@&#34;username or password is empty %@&#34;, kBaseURL);
    }
}

- (void)showLoginProcess:(BOOL) show
{
    ];
    self.spinner.hidden = !show;
    self.usernameBox.hidden = show;
    self.passwordBox.hidden = show;
    if (show)

    {
      ;
    } else
    {
      ;
    }
}
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>希望您已经为登录按钮声明了一个属性。让它成为“doLogin”。</p>

<p>你需要做的是</p>

<pre><code>- (IBAction)doLogin:(id)sender

{

;
doLogin.userInteractionEnabled = NO;

}
</code></pre>

<p>当登录成功或失败时写入</p>

<pre><code>doLogin.userInteractionEnabled = YES;
</code></pre>

<p>在相应的区 block 内。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 登录时禁用(登录)按钮,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/30751906/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/30751906/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 登录时禁用(登录)按钮