• 6.新.用户登录模型及登录界面焦点处理


    使用自带的push 返回 7.0以后支持手势滑动返回。

    1.封装一个单独的类来保持用户登录信息 新建一个类

      在.h文件中添加Singleton.h头文件 定义属性

      

      

      再到.m文件中定义   single_implementation(LoginUser)

      和导入NSString+Helper.h头文件

      和  #define kXMPPUserNameKey    @"xmppUserName"

         #define kXMPPPasswordKey    @"xmppPassword"

         #define kXMPPHostNameKey    @"xmppHostName"

      判断isEmptyString是否空字符串,只需要返回(self.length ==0);

      - (NSString *)loadStringFromDefaultsWithKey:(NSString *)key

      {

         NSString *str = [[NSUserDefaults standardUserDefaults] stringForKey:key]; 

         return (str) ? str : @"";

      }

      - (NSString *)userName

      {  return [self loadStringFromDefaultsWithKey:kXMPPUserNameKey];}

      - (void)setUserName:(NSString *)userName

      {    [userName saveToNSDefaultsWithKey:kXMPPUserNameKey];}

      - (NSString *)password

      {   return [self loadStringFromDefaultsWithKey:kXMPPPasswordKey];}

      - (void)setPassword:(NSString *)password

      {    [password saveToNSDefaultsWithKey:kXMPPPasswordKey];}

      - (NSString *)hostName

      {    return [self loadStringFromDefaultsWithKey:kXMPPHostNameKey];}

      - (void)setHostName:(NSString *)hostName

      {    [hostName saveToNSDefaultsWithKey:kXMPPHostNameKey];}

     在.h文件中 定义myJIDName这个方法。

      - (NSString *)myJIDName

      {    return [NSString stringWithFormat:@"%@@%@", self.userName, self.hostName];}

    2.在登录文件中导入刚新建的类。

      在到登录和注册按钮下面  设置界面文本的初始值

        _userNameText.text = [[LoginUser sharedLoginUser] userName];

        _passwordText.text = [[LoginUser sharedLoginUser] password];

        _hostNameText.text = [[LoginUser sharedLoginUser] hostName];

    设置文本焦点。。(在文本框为空 自动当光框定位到文本框中)

      if ([_userNameText.text isEmptyString]) {

            [_userNameText becomeFirstResponder];

        } else {

            [_passwordText becomeFirstResponder];

        }

    // 2. 将用户登录信息写入系统偏好

        [[LoginUser sharedLoginUser] setUserName:userName];

        [[LoginUser sharedLoginUser] setPassword:password];

        [[LoginUser sharedLoginUser] setHostName:hostName];

  • 相关阅读:
    BZOJ 2653 middle
    BZOJ 3207 花神的嘲讽计划Ⅰ
    BZOJ 3689 异或之
    BZOJ 3037 创世纪
    BZOJ [1264] [ AHOI2006]基因匹配Match
    BZOJ 2186 [Sdoi2008]沙拉公主的困惑
    BZOJ 3362 Navigation Nightmare
    BZOJ 3209 花神的数论题
    BZOJ 1411 ZJOI2009 硬币游戏
    【HDU1573】X问题
  • 原文地址:https://www.cnblogs.com/qq907374866/p/4253303.html
Copyright © 2020-2023  润新知