2016-12-03 2 views
-1

У меня есть две кнопки (btnHome и btnProfile) в HomeView. После успешного входа в систему отображается HomeView, но btnProfile должен быть скрыт.Скрыть кнопку в HomeView после успешного входа

+0

Ты работаешь быстро? ya Цель c –

+0

Это хорошо и обычная практика (в соответствии с наименованием iOS), чтобы не сокращать. Также очень часто ставится имя типа последним. Поэтому вы должны учитывать имена: 'homeButton' и' profileButton'. –

+0

Objective-C ...... .. – Abhimanyu

ответ

0

Вы можете сохранить флаг из успеха Войти действий по 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 
+0

Пожалуйста, отформатируйте свой код правильно, теперь '' 'торчит. –

+0

В объективе-C, пожалуйста? – Abhimanyu

0
-(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"]; 
+0

@Abhimanyu проверьте этот ответ. если какой-нибудь запрос скажет мне. –

Смежные вопросы