• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-12 15:29:58 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

- (IBAction)doLoginid)sender {

    [self loginUser];
}

- (void)loginUser
{

    if (![self.usernameBox.text isEqualToString""] && ![self.passwordBox.text isEqualToString""])
    {
        //TODO: check id email pattern is correct
        [self showLoginProcess:true];
        [[AuthSingleton getInstance] attemptLoginWithUsername:self.usernameBox.text andPassword:self.passwordBox.text withSuccesBlock:^(AFHTTPRequestOperation *operation, id responseObject)
         {
             [self showLoginProcess:false];

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

             SWRevealViewController *revealController = self.revealViewController;
             [revealController pushFrontViewController:newFrontController animated:YES];
         } andFailureBlock:^(AFHTTPRequestOperation *operation, NSError *error)
         {
             NSDictionary *dic = [error.userInfo objectForKey"JSONResponseSerializerWithDataKey"];
             #ifdef DEBUG
             NSLog(@"dic = %@", dic);
             #endif
             if ([[dic objectForKey"error_uri"] isEqual"phone"])
             {
                 NSError *jsonError;
                 NSData *objectData = [[dic objectForKey"error_description"] dataUsingEncoding:NSUTF8StringEncoding];
                 NSDictionary *json = [NSJSONSerialization JSONObjectWithDatabjectData
                                                                      options:NSJSONReadingMutableContainers
                                                                        error:&jsonError];
                 [self loginFailed:json];
             }
             else
             {
                 [self loginFailed:dic];
             }
         }];
    }
    else
    {
        //TODO: show proper message Test
        NSLog(@"username or password is empty %@", kBaseURL);
    }
}

- (void)showLoginProcessBOOL) show
{
    [self.spinner setColor:[UIColor whiteColor]];
    self.spinner.hidden = !show;
    self.usernameBox.hidden = show;
    self.passwordBox.hidden = show;
    if (show)

    {
        [self.spinner startAnimating];
    } else
    {
        [self.spinner stopAnimating];
    }
}



Best Answer-推荐答案


希望您已经为登录按钮声明了一个属性。让它成为“doLogin”。

你需要做的是

- (IBAction)doLoginid)sender

{

[self loginUser];
doLogin.userInteractionEnabled = NO;

}

当登录成功或失败时写入

doLogin.userInteractionEnabled = YES;

在相应的区 block 内。

关于ios - 登录时禁用(登录)按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30751906/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap