zoukankan      html  css  js  c++  java
  • IOS开发简单登录LoginViewController、注册RegisterViewController、UcenterViewController功能实现方法

    一、个人中心未登录


    方法:

          加判断登录状态直接打开个人中心页面4,否则出现上面引导登录或注册入口显示

    代码如下:

        

    1. #pragma mark addView  
    2. - (void)addView  
    3. {  
    4.     //背景图  
    5.     [self.view setBackgroundColor:[UIColor whiteColor]];  
    6.     UIImageView *loginImgTips = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"login_tips.png"]];  
    7.     loginImgTips.frame = CGRectMake(33, 31, 255, 135);  
    8.     [self.view addSubview:loginImgTips];  
    9.     [loginImgTips release];  
    10.       
    11.     //登录、注册提示  
    12.     UILabel *loginLab = [[UILabel alloc] initWithFrame:CGRectMake(55, 43, 199, 80)];  
    13.     [loginLab setText:@"登录工程师爸爸,网站收藏、iPhone下载、可方便哩!"];  
    14.     [loginLab setTextColor:[UIColor blackColor]];  
    15.     [loginLab setBackgroundColor:[UIColor clearColor]];  
    16.     [loginLab setNumberOfLines:3];  
    17.     [loginLab setFont:[UIFont systemFontOfSize:18]];  
    18.     [self.view addSubview:loginLab];  
    19.     [loginLab release];  
    20.       
    21.     //登录  
    22.     UIButton *loginBtn = [[UIButton alloc] initWithFrame:CGRectMake(37, 180, 117, 37)];  
    23.     [loginBtn setBackgroundImage:[UIImage imageNamed:@"Button_login.png"] forState:UIControlStateNormal];  
    24.     [loginBtn setBackgroundImage:[UIImage imageNamed:@"Button_login@2x.png"] forState:UIControlStateHighlighted];  
    25.     [loginBtn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];  
    26.     [loginBtn setTag:101];  
    27.     [self.view addSubview:loginBtn];  
    28.     [loginBtn release];  
    29.       
    30.     //注册  
    31.     UIButton *registerBtn = [[UIButton alloc] initWithFrame:CGRectMake(164, 180, 117, 37)];  
    32.     [registerBtn setBackgroundImage:[UIImage imageNamed:@"Button_reg.png"] forState:UIControlStateNormal];  
    33.     [registerBtn setBackgroundImage:[UIImage imageNamed:@"Button_reg@2x.png"] forState:UIControlStateHighlighted];  
    34.     [registerBtn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];  
    35.     [registerBtn setTag:102];  
    36.     [self.view addSubview:registerBtn];  
    37.     [registerBtn release];  
    38. }  

    二、登录

    顶部导航代码:

    1. #pragma mark addNavBar  
    2. -(void) addNavBar  
    3. {      
    4.     //返回按钮  
    5.     UIButton *btnLeft = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 24, 24)];  
    6.     [btnLeft setBackgroundImage:[UIImage imageNamed:@"item_back.png"] forState:UIControlStateNormal];  
    7.     [btnLeft setBackgroundImage:[UIImage imageNamed:@"item_back@2x.png"] forState:UIControlStateHighlighted];  
    8.     [btnLeft setTag:101];  
    9.     [btnLeft.titleLabel setFont:[UIFont boldSystemFontOfSize:14]];  
    10.     [btnLeft addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];  
    11.     UIBarButtonItem *navBarBack = [[UIBarButtonItem alloc] initWithCustomView:btnLeft];  
    12.     [btnLeft release];  
    13.       
    14.     [self.navigationItem setLeftBarButtonItem:navBarBack];  
    15.     [navBarBack release];  
    16.       
    17.     //右侧完成  
    18.     UIBarButtonItem *navBarFinish = [[UIBarButtonItem alloc] initWithTitle:@"注册" style:UIBarButtonItemStyleDone target:self action:@selector(btnClick:)];  
    19.     navBarFinish.tag = 102;  
    20.     self.navigationItem.rightBarButtonItem = navBarFinish;  
    21.     [navBarFinish release];  
    22. }  

    登录界面代码实现如下:

    1. #pragma mark addView  
    2. //创建输入框  
    3. - (void)addInput  
    4. {  
    5.     //基本参数定义  
    6.     CGFloat padx   = 80.0f;  
    7.     _vFrame        = CGRectMake(10, 14, 300, 80);  
    8.     UIFont *lpFont = [UIFont boldSystemFontOfSize:16];  
    9.   
    10.     //邮箱和密码背景颜色设置  
    11.     _view = [[UIView alloc] initWithFrame:_vFrame];  
    12.     _view.layer.cornerRadius = 8.0;  
    13.     _view.layer.borderWidth = 1;  
    14.     _view.layer.borderColor = [UIColor colorWithRed:209.0f/255.0f green:209.0f/255.0f blue:209.0f/255.0f alpha:1.0f].CGColor;  
    15.     [_view setBackgroundColor:[UIColor colorWithRed:247.0f/255.0f green:247.0f/255.0f blue:247.0f/255.0f alpha:1.0f]];  
    16.     [self.view addSubview:_view];  
    17.     [_view release];  
    18.       
    19.     //邮箱与密码中间分割线  
    20.     UIView *line = [[UIView alloc] initWithFrame:CGRectMake(10, 55, 300, 1)];  
    21.     [line setBackgroundColor:[UIColor colorWithRed:209.0f/255.0f green:209.0f/255.0f blue:209.0f/255.0f alpha:1.0f]];  
    22.     [self.view addSubview:line];  
    23.     [line release];  
    24.       
    25.     //用户名或Email  
    26.     UIImageView * _eview = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 250, 40)];  
    27.     [_eview setUserInteractionEnabled:YES];  
    28.     [_view addSubview:_eview];  
    29.     [_eview release];  
    30.       
    31.     UILabel *_unameLab = [[UILabel alloc] initWithFrame:CGRectMake(20, 5, 55, 40)];  
    32.     [_unameLab setText:@"用户名"];  
    33.     _unameLab.highlighted = YES;  
    34.     _unameLab.highlightedTextColor = [UIColor blackColor];  
    35.     [_unameLab setFont:lpFont];  
    36.     [_unameLab setBackgroundColor:[UIColor clearColor]];  
    37.     [_unameLab setTextColor:[UIColor blackColor]];  
    38.     [_view addSubview:_unameLab];  
    39.     [_unameLab release];  
    40.       
    41.     //用户邮箱  
    42.     _email = [[UITextField alloc] initWithFrame:CGRectMake(padx, 15, 200, 40)];  
    43.     [_email setBackgroundColor:[UIColor clearColor]];  
    44.     [_email setKeyboardType:UIKeyboardTypeEmailAddress];  
    45.     [_email setTextColor:[UIColor grayColor]];      
    46.     //[_email setClearButtonMode:UITextFieldViewModeWhileEditing];  //编辑时会出现个修改X  
    47.     [_email setTag:101];  
    48.     [_email setReturnKeyType:UIReturnKeyNext];  //键盘下一步Next  
    49.     [_email setAutocapitalizationType:UITextAutocapitalizationTypeNone]; //关闭首字母大写  
    50.     [_email setAutocorrectionType:UITextAutocorrectionTypeNo];  
    51.     [_email becomeFirstResponder]; //默认打开键盘  
    52.     [_email setFont:[UIFont systemFontOfSize:17]];  
    53.     [_email setDelegate:self];  
    54.     [_email setPlaceholder:@"用户名或电子邮箱"];  
    55.     [_email setText:@""];  
    56.     [_email setHighlighted:YES];      
    57.     [_eview addSubview:_email];  
    58.       
    59.     //密码  
    60.     UILabel *_passwdLab = [[UILabel alloc] initWithFrame:CGRectMake(20, 43, 45, 40)];  
    61.     [_passwdLab setText:@"密  码"];  
    62.     [_passwdLab setFont:lpFont];  
    63.     _passwdLab.highlighted = YES;  
    64.     _passwdLab.highlightedTextColor = [UIColor blackColor];  
    65.     [_passwdLab setBackgroundColor:[UIColor clearColor]];  
    66.     [_passwdLab setTextColor:[UIColor blackColor]];  
    67.     [_view addSubview:_passwdLab];  
    68.     [_passwdLab release];  
    69.       
    70.     _passwd = [[UITextField  alloc] initWithFrame:CGRectMake(padx, 53, 200, 40)];  
    71.     [_passwd setBackgroundColor:[UIColor clearColor]];  
    72.     [_passwd setKeyboardType:UIKeyboardTypeDefault];  
    73.     [_passwd setBorderStyle:UITextBorderStyleNone];  
    74.     [_passwd setAutocapitalizationType:UITextAutocapitalizationTypeNone]; //关闭首字母大写  
    75.     [_passwd setReturnKeyType:UIReturnKeyDone]; //完成  
    76.     [_passwd setSecureTextEntry:YES]; //验证  
    77.     [_passwd setDelegate:self];  
    78.     [_passwd setTag:102];  
    79.     [_passwd setTextColor:[UIColor grayColor]];  
    80.     [_passwd setFont:lpFont];  
    81.     [_passwd setText:@""  
    82.     [_view addSubview:_passwd];   
    83. }  

    三、注册


    顶部导航控制,代码实现如下:

    1. - (void)addNavBar  
    2. {  
    3.     if (_step == 1) {  
    4.         [self setXDNav:YES];  
    5.           
    6.         //返回按钮  
    7.         UIButton *btnLeft = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 24, 24)];  
    8.         [btnLeft setBackgroundImage:[UIImage imageNamed:@"item_back.png"] forState:UIControlStateNormal];  
    9.         [btnLeft setBackgroundImage:[UIImage imageNamed:@"item_back@2x.png"] forState:UIControlStateHighlighted];  
    10.         [btnLeft setTag:101];  
    11.         [btnLeft.titleLabel setFont:[UIFont boldSystemFontOfSize:14]];  
    12.         [btnLeft addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];  
    13.         UIBarButtonItem *navBarBack = [[UIBarButtonItem alloc] initWithCustomView:btnLeft];  
    14.         [btnLeft release];  
    15.         [self.navigationItem setLeftBarButtonItem:navBarBack];  
    16.         [navBarBack release];  
    17.           
    18.         //设标题  
    19.         [self setXDTitle:@"注册" pageName:@""];  
    20.           
    21.         //添加返回按钮  
    22.           
    23.         [self addInputOne]; //注册第一步  
    24.     }else{  
    25.         [self setXDTitle:@"宝贝信息设置" pageName:@""];  
    26.                   
    27.         //返回按钮  
    28.         UIButton *btnLeft = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 24, 24)];  
    29.         [btnLeft setBackgroundImage:[UIImage imageNamed:@"item_back.png"] forState:UIControlStateNormal];  
    30.         [btnLeft setBackgroundImage:[UIImage imageNamed:@"item_back@2x.png"] forState:UIControlStateHighlighted];  
    31.         [btnLeft setTag:101];  
    32.         [btnLeft.titleLabel setFont:[UIFont boldSystemFontOfSize:14]];  
    33.         [btnLeft addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];  
    34.         UIBarButtonItem *navBarBack = [[UIBarButtonItem alloc] initWithCustomView:btnLeft];  
    35.         [btnLeft release];  
    36.           
    37.         [self.navigationItem setLeftBarButtonItem:navBarBack];  
    38.         [navBarBack release];          
    39.           
    40.         //右侧完成  
    41.         UIBarButtonItem *navBarFinish = [[UIBarButtonItem alloc] initWithTitle:@"完成" style:UIBarButtonItemStyleDone target:self action:@selector(btnClick:)];  
    42.         navBarFinish.tag = 102;  
    43.         //[_navBarFinish addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];  
    44.         self.navigationItem.rightBarButtonItem = navBarFinish;  
    45.         [navBarFinish release];  
    46.         [self addInputTow];  
    47.     }  
    48. }  

    注册分两步:

    第一步基本信息注册,代码如下

    1. //创建输入框  
    2. - (void)addInputOne  
    3. {  
    4.     //基本参数定义  
    5.     CGFloat padx   = 95.0f;  
    6.     _vFrame        = CGRectMake(10, 14, 300, 125);  
    7.     UIFont *lpFont = [UIFont boldSystemFontOfSize:16];  
    8.       
    9.     //邮箱和密码背景颜色设置  
    10.     _view = [[UIView alloc] initWithFrame:_vFrame];  
    11.     _view.layer.cornerRadius = 8.0;  
    12.     _view.layer.borderWidth = 1;  
    13.     _view.layer.borderColor = [UIColor colorWithRed:209.0f/255.0f green:209.0f/255.0f blue:209.0f/255.0f alpha:1.0f].CGColor;  
    14.     [_view setBackgroundColor:[UIColor colorWithRed:247.0f/255.0f green:247.0f/255.0f blue:247.0f/255.0f alpha:1.0f]];  
    15.     [self.view addSubview:_view];  
    16.     [_view release];  
    17.           
    18.     //用户名与密码中间分割线  
    19.     UIView *lineOne = [[UIView alloc] initWithFrame:CGRectMake(10, 53, 300, 1)];  
    20.     [lineOne setBackgroundColor:[UIColor colorWithRed:209.0f/255.0f green:209.0f/255.0f blue:209.0f/255.0f alpha:1.0f]];  
    21.     [self.view addSubview:lineOne];  
    22.     [lineOne release];  
    23.       
    24.     //用户名  
    25.     UILabel *_unameLab = [[UILabel alloc] initWithFrame:CGRectMake(20, 2, 55, 40)];  
    26.     [_unameLab setText:@"用户名"];  
    27.     _unameLab.highlighted = YES;  
    28.     _unameLab.highlightedTextColor = [UIColor blackColor];  
    29.     [_unameLab setFont:lpFont];  
    30.     [_unameLab setBackgroundColor:[UIColor clearColor]];  
    31.     [_unameLab setTextColor:[UIColor blackColor]];  
    32.     [_view addSubview:_unameLab];  
    33.     [_unameLab release];  
    34.       
    35.     _uname = [[UITextField alloc] initWithFrame:CGRectMake(padx, 10, 230, 40)];  
    36.     [_uname setBackgroundColor:[UIColor clearColor]];  
    37.     [_uname setTag:101];  
    38.     [_uname setUserInteractionEnabled:YES];  
    39.     [_uname setKeyboardType:UIKeyboardTypeDefault];  
    40.     [_uname setReturnKeyType:UIReturnKeyNext];  //键盘下一步Next  
    41.     [_uname setAutocapitalizationType:UITextAutocapitalizationTypeNone]; //关闭首字母大写  
    42.     [_uname setAutocorrectionType:UITextAutocorrectionTypeNo];  
    43.     [_uname setReturnKeyType:UIReturnKeyNext]; //下一个Passwd  
    44.     [_uname becomeFirstResponder]; //默认打开键盘  
    45.     [_uname setFont:[UIFont systemFontOfSize:17]];  
    46.     [_uname setDelegate:self];  
    47.     [_uname setText:@""];  
    48.     [_uname setHighlighted:YES];  
    49.     [_view addSubview:_uname];  
    50.       
    51.     //密码  
    52.     UILabel *_passwdLab = [[UILabel alloc] initWithFrame:CGRectMake(20, 43, 45, 40)];  
    53.     [_passwdLab setText:@"密  码"];  
    54.     [_passwdLab setFont:lpFont];  
    55.     _passwdLab.highlighted = YES;  
    56.     _passwdLab.highlightedTextColor = [UIColor blackColor];  
    57.     [_passwdLab setBackgroundColor:[UIColor clearColor]];  
    58.     [_passwdLab setTextColor:[UIColor blackColor]];  
    59.     [_view addSubview:_passwdLab];  
    60.     [_passwdLab release];  
    61.       
    62.     _passwd = [[UITextField  alloc] initWithFrame:CGRectMake(padx, 53, 200, 40)];  
    63.     [_passwd setBackgroundColor:[UIColor clearColor]];  
    64.     [_passwd setKeyboardType:UIKeyboardTypeDefault];  
    65.     [_passwd setBorderStyle:UITextBorderStyleNone];  
    66.     [_passwd setAutocapitalizationType:UITextAutocapitalizationTypeNone]; //关闭首字母大写  
    67.     [_passwd setReturnKeyType:UIReturnKeyNext]; //下一个Email  
    68.     [_passwd setSecureTextEntry:YES]; //验证  
    69.     [_passwd setDelegate:self];  
    70.     [_passwd setTag:102];  
    71.     [_passwd setTextColor:[UIColor grayColor]];  
    72.     [_passwd setFont:lpFont];  
    73.     [_passwd setText:@""];  
    74.     [_view addSubview:_passwd];  
    75.       
    76.     //邮箱与密码中间分割线  
    77.     UIView *lineTow = [[UIView alloc] initWithFrame:CGRectMake(10, 95, 300, 1)];  
    78.     [lineTow setBackgroundColor:[UIColor colorWithRed:209.0f/255.0f green:209.0f/255.0f blue:209.0f/255.0f alpha:1.0f]];  
    79.     [self.view addSubview:lineTow];  
    80.     [lineTow release];  
    81.       
    82.     //用户邮箱  
    83.     UILabel *_emailLab = [[UILabel alloc] initWithFrame:CGRectMake(20, 82, 280, 40)];  
    84.     [_emailLab setText:@"电子邮箱"];  
    85.     _emailLab.highlighted = YES;  
    86.     _emailLab.highlightedTextColor = [UIColor blackColor];  
    87.     [_emailLab setFont:lpFont];  
    88.     [_emailLab setBackgroundColor:[UIColor clearColor]];  
    89.     [_emailLab setTextColor:[UIColor blackColor]];  
    90.     [_view addSubview:_emailLab];  
    91.     [_emailLab release];  
    92.   
    93.     _email = [[UITextField alloc] initWithFrame:CGRectMake(padx, 92, 200, 40)];  
    94.     [_email setBackgroundColor:[UIColor clearColor]];  
    95.     [_email setKeyboardType:UIKeyboardTypeEmailAddress];  
    96.     [_email setTextColor:[UIColor grayColor]];  
    97.     [_email setTag:103];  
    98.     [_email setReturnKeyType:UIReturnKeyDone];  //键盘下一步Next  
    99.     [_email setAutocapitalizationType:UITextAutocapitalizationTypeNone]; //关闭首字母大写  
    100.     [_email setAutocorrectionType:UITextAutocorrectionTypeNo];      
    101.     [_email setFont:[UIFont systemFontOfSize:17]];  
    102.     [_email setDelegate:self];  
    103.     [_email setPlaceholder:@"devdiy@example.com"];  
    104.     [_email setText:@""];  
    105.     [_email setHighlighted:YES];  
    106.     [_view addSubview:_email];  
    107. }  

    第二步完善资源输入,代码实现如下:

    1. //创建输入框  
    2. - (void)addInputTow  
    3. {  
    4.     //基本参数定义  
    5.     CGFloat padx   = 100.0f;  
    6.     _vFrame        = CGRectMake(10, 10, 300, 125);  
    7.     UIFont *lpFont = [UIFont boldSystemFontOfSize:16];  
    8.       
    9.     //宝贝小名、宝贝性别、宝贝生日背景颜色设置  
    10.     _view = [[UIView alloc] initWithFrame:_vFrame];  
    11.     _view.layer.cornerRadius = 8.0;  
    12.     _view.layer.borderWidth = 1;  
    13.     _view.layer.borderColor = [UIColor colorWithRed:209.0f/255.0f green:209.0f/255.0f blue:209.0f/255.0f alpha:1.0f].CGColor;  
    14.     [_view setBackgroundColor:[UIColor colorWithRed:247.0f/255.0f green:247.0f/255.0f blue:247.0f/255.0f alpha:1.0f]];  
    15.     [self.view addSubview:_view];  
    16.     [_view release];  
    17.       
    18.     //宝贝小名和宝贝性别分割线  
    19.     UIView *lineOne = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 300, 1)];  
    20.     [lineOne setBackgroundColor:[UIColor colorWithRed:209.0f/255.0f green:209.0f/255.0f blue:209.0f/255.0f alpha:1.0f]];  
    21.     [self.view addSubview:lineOne];  
    22.     [lineOne release];  
    23.       
    24.     //宝贝小名  
    25.     UILabel *_nicknameLab = [[UILabel alloc] initWithFrame:CGRectMake(20, 2, 75, 40)];  
    26.     [_nicknameLab setText:@"宝贝小名"];  
    27.     _nicknameLab.highlighted = YES;  
    28.     _nicknameLab.highlightedTextColor = [UIColor blackColor];  
    29.     [_nicknameLab setFont:lpFont];  
    30.     [_nicknameLab setBackgroundColor:[UIColor clearColor]];  
    31.     [_nicknameLab setTextColor:[UIColor blackColor]];  
    32.     [_view addSubview:_nicknameLab];  
    33.     [_nicknameLab release];  
    34.       
    35.     _nickname = [[UITextField alloc] initWithFrame:CGRectMake(padx, 13, 180, 40)];  
    36.     [_nickname setBackgroundColor:[UIColor clearColor]];  
    37.     [_nickname setTag:101];  
    38.     [_nickname setUserInteractionEnabled:YES];  
    39.     [_nickname setKeyboardType:UIKeyboardTypeDefault];  
    40.     [_nickname setReturnKeyType:UIReturnKeyNext];  //键盘下一步Next  
    41.     [_nickname setAutocapitalizationType:UITextAutocapitalizationTypeNone]; //关闭首字母大写  
    42.     [_nickname setAutocorrectionType:UITextAutocorrectionTypeNo];  
    43.     [_nickname setReturnKeyType:UIReturnKeyNext]; //下一个宝贝性别  
    44.     [_nickname becomeFirstResponder]; //默认打开键盘  
    45.     [_nickname setFont:[UIFont systemFontOfSize:17]];  
    46.     [_nickname setDelegate:self];  
    47.     [_nickname setText:@""];  
    48.     [_nickname setHighlighted:YES];  
    49.     [_view addSubview:_nickname];  
    50.       
    51.     //宝贝性别  
    52.     UILabel *_sexLab = [[UILabel alloc] initWithFrame:CGRectMake(20, 35, 75, 50)];  
    53.     [_sexLab setText:@"宝贝性别"];  
    54.     [_sexLab setFont:lpFont];  
    55.     _sexLab.highlighted = YES;  
    56.     _sexLab.highlightedTextColor = [UIColor blackColor];  
    57.     [_sexLab setBackgroundColor:[UIColor clearColor]];  
    58.     [_sexLab setTextColor:[UIColor blackColor]];  
    59.     [_view addSubview:_sexLab];  
    60.     [_sexLab release];  
    61.   
    62.     _segment = [[UISegmentedControl alloc] initWithItems:  
    63.                                    [NSArray arrayWithObjects:  
    64.                                     @"男",@"女",  
    65.                                     nil]];  
    66.     _segment.frame = CGRectMake(padx+10, 56, 130, 32);  
    67.     _segment.segmentedControlStyle = UISegmentedControlStylePlain;  
    68.     _segment.selectedSegmentIndex = 1;  
    69.     [self.view addSubview:_segment];  
    70.     [_segment release];  
    71.       
    72.     //宝贝性别与宝贝生日中间分割线  
    73.     UIView *lineTow = [[UIView alloc] initWithFrame:CGRectMake(10, 93, 300, 1)];  
    74.     [lineTow setBackgroundColor:[UIColor colorWithRed:209.0f/255.0f green:209.0f/255.0f blue:209.0f/255.0f alpha:1.0f]];  
    75.     [self.view addSubview:lineTow];  
    76.     [lineTow release];  
    77.       
    78.     //宝贝生日  
    79.     UILabel *_birthLab = [[UILabel alloc] initWithFrame:CGRectMake(30, 96, 75, 40)];  
    80.     [_birthLab setText:@"宝贝生日"];  
    81.     _birthLab.highlighted = YES;  
    82.     _birthLab.highlightedTextColor = [UIColor blackColor];  
    83.     [_birthLab setFont:lpFont];  
    84.     [_birthLab setBackgroundColor:[UIColor clearColor]];  
    85.     [_birthLab setTextColor:[UIColor blackColor]];  
    86.     [self.view addSubview:_birthLab];  
    87.     [_birthLab release];  
    88.           
    89.     _birthDay = [[UIButton alloc] initWithFrame:CGRectMake(57, 96, 200, 40)];  
    90.     [_birthDay setBackgroundColor:[UIColor clearColor]];  
    91.     [_birthDay setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];  
    92.     [_birthDay setTitle:@"2004-10-09" forState:UIControlStateNormal];  
    93.     [_birthDay setTag:104];  
    94.     [_birthDay addTarget:self action:@selector(openBirthday) forControlEvents:UIControlEventTouchUpInside];  
    95.     [_birthDay setHighlighted:YES];  
    96.     [self.view addSubview:_birthDay];  
    97.       
    98.     //宝贝信息提示  
    99.     UILabel *_babyNote = [[UILabel alloc] initWithFrame:CGRectMake(45, 131, 300, 40)];  
    100.     [_babyNote setBackgroundColor:[UIColor clearColor]];  
    101.     [_babyNote setTextColor:[UIColor colorWithRed:83.0f/255.0f green:92.0f/255.0f blue:112.0f/255.0f alpha:1.0f]];  
    102.     [_babyNote setTag:104];  
    103.     [_babyNote setFont:[UIFont systemFontOfSize:14]];  
    104.     [_babyNote setText:@"推荐引擎会根据孩子信息进行个性推荐"];  
    105.     [_babyNote setHighlighted:YES];  
    106.     [self.view addSubview:_babyNote];  
    107.     [_babyNote release];  
    108.           
    109.     //初始日期选择控件  
    110.     _datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0.0, 200.0, 0.0, 0.0)];  
    111.     NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];      
    112.     [dateFormatter setDateFormat:@"yyyy-MM-dd"];  
    113.   
    114.     //将当前生日时间设置到日期轮轴上  
    115.     _datePicker.date = [dateFormatter dateFromString:_birthDay.titleLabel.text];  
    116.       
    117.     //设置为中文显示  
    118.     NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];  
    119.     _datePicker.locale = locale;  
    120.     [locale release];  
    121.     [_datePicker setDatePickerMode:UIDatePickerModeDate];  
    122.       
    123.     [_datePicker addTarget:self action:@selector(dataValueChanged) forControlEvents:UIControlEventValueChanged];  
    124.     [self.view addSubview:_datePicker];  
    125. }  


    三、注册,登录成功后直接进入个人中心页


    顶部界面代码实现如下:

    1. #pragma mark addHeadView  
    2. - (void)addHeadView  
    3. {  
    4.     //头像背景设置  
    5.     UIView *headView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 84)];  
    6.     [headView setBackgroundColor:[UIColor colorWithRed:247.0f/255.0f green:247.0f/255.0f blue:247.0f/255.0f alpha:1.0f]];  
    7.       
    8.     //按钮方式添加左侧用头像  
    9.     UIButton *headBtn = [[UIButton alloc] initWithFrame:CGRectMake(10, 10, 64, 64)];  
    10.     [headBtn setBackgroundImage:[UIImage imageNamed:@"Baby_head.png"] forState:UIControlStateNormal];  
    11.     headBtn.layer.cornerRadius = 8.0;  
    12.     headBtn.layer.masksToBounds = YES;  
    13.     [headView addSubview:headBtn];  
    14.     [headBtn release];  
    15.     [self.view addSubview:headView];  
    16.       
    17.     //用户名  
    18.     UILabel *unameLab = [[UILabel alloc] initWithFrame:CGRectMake(89, 15, 200, 20)];  
    19.     [unameLab setText:@"balbaba"];  
    20.     [unameLab setTextColor:[UIColor blackColor]];  
    21.     [unameLab setFont:[UIFont boldSystemFontOfSize:16]];  
    22.     [unameLab setBackgroundColor:[UIColor clearColor]];  
    23.     [headView addSubview:unameLab];  
    24.       
    25.     //宝贝头像小图  
    26.     UIImageView *iconView = [[UIImageView alloc] initWithFrame:CGRectMake(89, 38, 24, 24)];  
    27.     [iconView setImage:[UIImage imageNamed:@"Baby_gender_boy.png"]];      
    28.     [headView addSubview:iconView];  
    29.       
    30.     //宝贝昵称  
    31.     UILabel *nicknameLab = [[UILabel alloc] initWithFrame:CGRectMake(120, 40, 120, 20)];  
    32.     [nicknameLab setText:@"宝贝qgggfgghhjjjk"];  
    33.     [nicknameLab setTextColor:[UIColor blackColor]];  
    34.     [nicknameLab setFont:[UIFont systemFontOfSize:14]];  
    35.     [nicknameLab setBackgroundColor:[UIColor clearColor]];  
    36.     [headView addSubview:nicknameLab];  
    37.       
    38.     //宝贝生日  
    39.     UILabel *birthDayLab = [[UILabel alloc] initWithFrame:CGRectMake(230, 40, 80, 20)];  
    40.     [birthDayLab setText:@", 4岁3个月"];  
    41.     [birthDayLab setTextColor:[UIColor blackColor]];  
    42.     [birthDayLab setFont:[UIFont systemFontOfSize:14]];  
    43.     [birthDayLab setBackgroundColor:[UIColor clearColor]];  
    44.     [headView addSubview:birthDayLab];  
    45.       
    46.     [headView release];  
    47. }  


    分段表格视图实现代码如下:

    1. #pragma mark addTableView  
    2. - (void)addTableView  
    3. {  
    4.     _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 84, 320, 416) style:UITableViewStylePlain];  
    5.     [_tableView setDelegate:self];  
    6.     [_tableView setDataSource:self];  
    7.       
    8.     //清除分隔线  
    9.     //_tableView.separatorStyle =  UITableViewCellSeparatorStyleNone;  
    10.     [self.view addSubview:_tableView];  
    11. }  
    12.   
    13. //代理-每个行的Cell  
    14. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath  
    15. {  
    16.       
    17.     NSString *iden = [NSString stringWithFormat:@"_ucenterCell_%d", 1];  
    18.       
    19.     UcenterCell *cell = [tableView dequeueReusableCellWithIdentifier:iden];  
    20.       
    21.     if (cell == nil) {  
    22.         cell = [[[UcenterCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:iden] autorelease];  
    23.     }  
    24.       
    25.     //cell.selectionStyle = UITableViewCellSelectionStyleNone;  
    26.     cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;      
    27.       
    28.     NSDictionary *dic = [[[_dataList objectAtIndex:indexPath.section] objectForKey:@"subs"] objectAtIndex:indexPath.row];      
    29.     [cell setValueForDictionary:dic];  
    30.       
    31.     return cell;  
    32. }  
    33.   
    34. //多少个段  
    35. - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView  
    36. {  
    37.     return [_dataList count];  
    38. }  
    39.   
    40. //段的高度  
    41. -(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section  
    42. {  
    43.     return 22;  
    44. }  
    45.   
    46. //设置每段显示Title  
    47. - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section  
    48. {  
    49.     return [[[[_dataList objectAtIndex:section] objectForKey:@"subs"] objectAtIndex:0] objectForKey:@"section"];  
    50. }  
    51.   
    52. //代理-每段有多少行  
    53. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section  
    54. {  
    55.     return [[[_dataList objectAtIndex:section] objectForKey:@"subs"] count];  
    56. }  
    57.   
    58. //代理-计算每个行的高度  
    59. - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath  
    60. {  
    61.     return 44.0f;  
    62. }  
    63.   
    64. //代理-选择行的触发事件  
    65. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath  
    66. {  
    67.     [tableView deselectRowAtIndexPath:indexPath animated:YES];  
    68.       
    69.     //点击推出页面  
    70.     DetailViewController *rvc = [[DetailViewController alloc] init];  
    71.     [self.navigationController pushViewController:rvc animated:YES];  
    72.     [rvc release];  
    73. }  


    注:

        1、注册、登录功能主要是锻练对键盘和输入框UITextField、UISegment及UIPickerView的熟练使用

        2、在注册、登录时顶部导航左、中、右相关的"返回" 、"注册"、"完成"等按钮尽量直接使用系统的的类似下面代码

    1. [self.navigationItem setLeftBarButtonItem:navBarBack];  
    2.   
    3.  self.navigationItem.rightBarButtonItem = navBarFinish;  
    4.   
    5.  [self.navigationItem.titleView addSubview:segment];  


    在各个ViewController之间切换和控制。

    飞机票:http://blog.csdn.net/lgm252008/article/details/9324851

    至此完整的用户注册、登录、进入中心页界面实现就完成了,结合上面的代码实现其它iOS项目App应用的功能和流程上大同小异,需要我们自己根据实际产品业务的要求

    做出调整,希望对网友有帮助。

  • 相关阅读:
    配置本地光盘为yum源
    几个精彩的DMV
    单用户模式下连接被占用定位spid
    SQLServer 使用smb存放数据文件
    安装第三方库出现 Python version 2.7 required, which was not found in the registry
    windows环境下Django安装配置
    复制 replication 新增表 add new article
    SQL Server session故障排查
    倒车入库方法
    侧方停车方法
  • 原文地址:https://www.cnblogs.com/MyBlogZH/p/5527128.html
Copyright © 2011-2022 走看看