登录成功后在 HomeView 中隐藏按钮

Posted

技术标签:

【中文标题】登录成功后在 HomeView 中隐藏按钮【英文标题】:Hide Button in HomeView after successful Login 【发布时间】:2016-12-03 08:41:43 【问题描述】:

我在HomeView 中有两个按钮(btnHomebtnProfile)。成功登录后,同样的HomeView会显示,但btnProfile应该被隐藏。

【问题讨论】:

你在快速工作吗?你的目标c 不缩写是一种很好的常见做法(符合 ios 命名)。此外,将类型名称放在最后也很常见。所以你应该考虑名称:homeButtonprofileButton Objective-C…….. @Abhimanyu 检查我的答案 【参考方案1】:

您可以将成功登录动作的标记保存到NSUserDefaults,并在viewWillAppear方法中检查。您的UIViewController 示例:

class LoginViewController: UIViewController 

    let btnProfile = UIButton()

    override func viewWillAppear(_ animated: Bool) 
        super.viewWillAppear(animated)
        let hasLoginAction = UserDefaults.standard.bool(forKey: "success_login")
        btnProfile.isHidden = hasLoginAction
    

    func login()  
        //just example, your logic logic here
        UserDefaults.standard.set(true, forKey: "success_login")
    

Objective-C版本:

@interface ViewController ()

@property (nonatomic) IBOutlet UIButton *btnProfile;

@end

@implementation ViewController

- (void)viewWillAppear:(BOOL)animated 
    [super viewWillAppear:animated];
    BOOL hasLogin = [[NSUserDefaults standardUserDefaults] boolForKey:@"success_login"];
    self.btnProfile.hidden = hasLogin;


- (void)login 
    //just example, your logic logic here
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"success_login"];



@end

【讨论】:

请正确格式化您的代码,现在有一个 在 Objective-C 中好吗?【参考方案2】:
-(void) viewWillAppear:(BOOL)animated
    [super viewWillAppear:animated];
    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"LoginSuccess"] == YES)
    
      //button hide 
      profile.hidden = NO;
    

当你登录成功的时候设置一个NSUserDefaults值。

[[NSUserDefaults standardUserDefaults] setValue:@"YES" forKey:@"LoginSuccess"];

【讨论】:

以上是关于登录成功后在 HomeView 中隐藏按钮的主要内容,如果未能解决你的问题,请参考以下文章

成功登录应用程序后在 safari 中创建 cookie

登录成功后隐藏登录页面并在android中显示main_activity

更改为WKWebView后在NSURLRequest上缺少一些cookie

登录后在 ASP.NET 页面中隐藏导航

成功登录 PHP 后自动登录 Openfire 服务器

如何成功退出