iOS 常見的登錄界面(不登錄看不見登錄中心界面)

好久不寫了,今天給大家分享一下登錄界面,經(jīng)理說不登錄不讓進(jìn)入個(gè)人中心,雖然不麻煩,但是感覺坑挺多(可能我是菜鳥的原因)。后臺(tái)還沒做出來,展示的只是本地?cái)?shù)據(jù),這些都不重要,主要的效果。。。廢話不多說,先看下效果!

5.gif

就是這種效果,可能我是個(gè)菜鳥,所以碰到比較坑的東西,不多說,上代碼!
我們想到達(dá)這個(gè)效果,首先判斷用戶是否登錄來攔截點(diǎn)擊tabBarItem

//這是UITabBarController的代理方法<UITabBarControllerDelegate>
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
    if (viewController == [tabBarController.viewControllers objectAtIndex:4]) {
          NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
        if ([userDefaults objectForKey:@"phoneNum"] == nil) {
            JYJ_LoginViewController *login = [[JYJ_LoginViewController alloc]init];
            //隱藏tabBar
            login.hidesBottomBarWhenPushed = YES;
            self.tabBar.hidden = YES;
            [(UINavigationController *)tabBarController.selectedViewController pushViewController:login animated:YES];
            self.hidesBottomBarWhenPushed = NO;
            return NO;
            
        }else {
            return YES;
        }
    }else {
        return YES;
    }
}

當(dāng)我寫到點(diǎn)擊登錄直接要跳轉(zhuǎn)個(gè)人中心的時(shí)候碰到坑了,怎么回事呢?我們繼續(xù)

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
        [userDefaults setObject:self.passwordTextField.text forKey:@"phoneNum"];
        [userDefaults setObject:self.passwordTextField.text forKey:@"password"];
        [userDefaults synchronize];
       MainTabBarController *tab = (MainTabBarController *)[UIApplication sharedApplication].keyWindow.rootViewController;
        [JYJ_AlertView createHUDLabelText:@"登錄成功" showView:[UIApplication sharedApplication].keyWindow alertType:0];
        //跳到指定的頁面
        tab.selectedIndex = 4;
        

確實(shí)這么寫也是跳到了指定頁面!但是.....新的坑再洗出現(xiàn) ,看一下效果。

6.gif

很明顯大家也看出來怎么回事了,就是說登錄頁面還會(huì)在你選擇的VC出現(xiàn)一次,這怎么辦呢?想了很長(zhǎng)時(shí)間終于破解了??!

在我們點(diǎn)擊登錄的時(shí)候最后一句話是這樣的

//跳到指定的頁面
        tab.selectedIndex = 4;

在這句話后面再加一段代碼

[self removeFromParentViewController];  //我的理解是這樣的,在進(jìn)入指定VC后,把父類的VC移除了,所以他不會(huì)出現(xiàn)在你選擇VC的視圖中了。(后加)調(diào)試中還是發(fā)現(xiàn)了bug,所以干脆就放棄這種效果了。不懂的可以問問我

等待后臺(tái)準(zhǔn)備測(cè)試。希望對(duì)大家有所幫助。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,940評(píng)論 25 709
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,188評(píng)論 4 61
  • 相信對(duì)于每一個(gè)在計(jì)算機(jī)行業(yè)或者半導(dǎo)體行業(yè)鏖戰(zhàn)的童鞋們來說,摩爾定律(Moore‘s Law)是再熟悉不過了。但是,...
    Klaas閱讀 3,292評(píng)論 0 2
  • 在這個(gè)城市生活了二十多年了,好像說不出對(duì)它的感受,因?yàn)樗屛矣泻芏嗷旌系母星?。出生在這個(gè)城市,家里住在道北地區(qū),對(duì)...
    顏嫣漓閱讀 247評(píng)論 0 1
  • 正式在學(xué)校里上課的時(shí)間只剩一個(gè)月了,希望自己沉迷學(xué)習(xí),日漸消瘦。
    柗柗呦閱讀 157評(píng)論 0 0

友情鏈接更多精彩內(nèi)容