一、个人中心未登录

方法:
加判断登录状态直接打开个人中心页面4,否则出现上面引导登录或注册入口显示
代码如下:
?| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
#pragma mark addview
- (void)addview
{
//背景图
[self.view setbackgroundcolor:[uicolor whitecolor]];
uiimageview *loginimgtips = [[uiimageview alloc] initwithimage:[uiimage imagenamed:@"login_tips.png"]];
loginimgtips.frame = cgrectmake(33, 31, 255, 135);
[self.view addsubview:loginimgtips];
[loginimgtips release];
//登录、注册提示
uilabel *loginlab = [[uilabel alloc] initwithframe:cgrectmake(55, 43, 199, 80)];
[loginlab settext:@"登录工程师爸爸,网站收藏、iphone下载、可方便哩!"];
[loginlab settextcolor:[uicolor blackcolor]];
[loginlab setbackgroundcolor:[uicolor clearcolor]];
[loginlab setnumberoflines:3];
[loginlab setfont:[uifont systemfontofsize:18]];
[self.view addsubview:loginlab];
[loginlab release];
//登录
uibutton *loginbtn = [[uibutton alloc] initwithframe:cgrectmake(37, 180, 117, 37)];
[loginbtn setbackgroundimage:[uiimage imagenamed:@"button_login.png"] forstate:uicontrolstatenormal];
[loginbtn setbackgroundimage:[uiimage imagenamed:@"button_login@2x.png"] forstate:uicontrolstatehighlighted];
[loginbtn addtarget:self action:@selector(btnclick:) forcontrolevents:uicontroleventtouchupinside];
[loginbtn settag:101];
[self.view addsubview:loginbtn];
[loginbtn release];
//注册
uibutton *registerbtn = [[uibutton alloc] initwithframe:cgrectmake(164, 180, 117, 37)];
[registerbtn setbackgroundimage:[uiimage imagenamed:@"button_reg.png"] forstate:uicontrolstatenormal];
[registerbtn setbackgroundimage:[uiimage imagenamed:@"button_reg@2x.png"] forstate:uicontrolstatehighlighted];
[registerbtn addtarget:self action:@selector(btnclick:) forcontrolevents:uicontroleventtouchupinside];
[registerbtn settag:102];
[self.view addsubview:registerbtn];
[registerbtn release];
}
|
二、登录

顶部导航代码:
?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#pragma mark addnavbar
-(void) addnavbar
{
//返回按钮
uibutton *btnleft = [[uibutton alloc] initwithframe:cgrectmake(0, 0, 24, 24)];
[btnleft setbackgroundimage:[uiimage imagenamed:@"item_back.png"] forstate:uicontrolstatenormal];
[btnleft setbackgroundimage:[uiimage imagenamed:@"item_back@2x.png"] forstate:uicontrolstatehighlighted];
[btnleft settag:101];
[btnleft.titlelabel setfont:[uifont boldsystemfontofsize:14]];
[btnleft addtarget:self action:@selector(btnclick:) forcontrolevents:uicontroleventtouchupinside];
uibarbuttonitem *navbarback = [[uibarbuttonitem alloc] initwithcustomview:btnleft];
[btnleft release];
[self.navigationitem setleftbarbuttonitem:navbarback];
[navbarback release];
//右侧完成
uibarbuttonitem *navbarfinish = [[uibarbuttonitem alloc] initwithtitle:@"注册" style:uibarbuttonitemstyledone target:self action:@selector(btnclick:)];
navbarfinish.tag = 102;
self.navigationitem.rightbarbuttonitem = navbarfinish;
[navbarfinish release];
}
|
登录界面代码实现如下:
?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
#pragma mark addview
//创建输入框
- (void)addinput
{
//基本参数定义
cgfloat padx = 80.0f;
_vframe = cgrectmake(10, 14, 300, 80);
uifont *lpfont = [uifont boldsystemfontofsize:16];
//邮箱和密码背景颜色设置
_view = [[uiview alloc] initwithframe:_vframe];
_view.layer.cornerradius = 8.0;
_view.layer.borderwidth = 1;
_view.layer.bordercolor = [uicolor colorwithred:209.0f/255.0f green:209.0f/255.0f blue:209.0f/255.0f alpha:1.0f].cgcolor;
[_view setbackgroundcolor:[uicolor colorwithred:247.0f/255.0f green:247.0f/255.0f blue:247.0f/255.0f alpha:1.0f]];
[self.view addsubview:_view];
[_view release];
//邮箱与密码中间分割线
uiview *line = [[uiview alloc] initwithframe:cgrectmake(10, 55, 300, 1)];
[line setbackgroundcolor:[uicolor colorwithred:209.0f/255.0f green:209.0f/255.0f blue:209.0f/255.0f alpha:1.0f]];
[self.view addsubview:line];
[line release];
//用户名或email
uiimageview * _eview = [[uiimageview alloc] initwithframe:cgrectmake(0, 0, 250, 40)];
[_eview setuserinteractionenabled:yes];
[_view addsubview:_eview];
[_eview release];
uilabel *_unamelab = [[uilabel alloc] initwithframe:cgrectmake(20, 5, 55, 40)];
[_unamelab settext:@"用户名"];
_unamelab.highlighted = yes;
_unamelab.highlightedtextcolor = [uicolor blackcolor];
[_unamelab setfont:lpfont];
[_unamelab setbackgroundcolor:[uicolor clearcolor]];
[_unamelab settextcolor:[uicolor blackcolor]];
[_view addsubview:_unamelab];
[_unamelab release];
//用户邮箱
_email = [[uitextfield alloc] initwithframe:cgrectmake(padx, 15, 200, 40)];
[_email setbackgroundcolor:[uicolor clearcolor]];
[_email setkeyboardtype:uikeyboardtypeemailaddress];
[_email settextcolor:[uicolor graycolor]];
//[_email setclearbuttonmode:uitextfieldviewmodewhileediting]; //编辑时会出现个修改x
[_email settag:101];
[_email setreturnkeytype:uireturnkeynext]; //键盘下一步next
[_email setautocapitalizationtype:uitextautocapitalizationtypenone]; //关闭首字母大写
[_email setautocorrectiontype:uitextautocorrectiontypeno];
[_email becomefirstresponder]; //默认打开键盘
[_email setfont:[uifont systemfontofsize:17]];
[_email setdelegate:self];
[_email setplaceholder:@"用户名或电子邮箱"];
[_email settext:@""];
[_email sethighlighted:yes];
[_eview addsubview:_email];
//密码
uilabel *_passwdlab = [[uilabel alloc] initwithframe:cgrectmake(20, 43, 45, 40)];
[_passwdlab settext:@"密 码"];
[_passwdlab setfont:lpfont];
_passwdlab.highlighted = yes;
_passwdlab.highlightedtextcolor = [uicolor blackcolor];
[_passwdlab setbackgroundcolor:[uicolor clearcolor]];
[_passwdlab settextcolor:[uicolor blackcolor]];
[_view addsubview:_passwdlab];
[_passwdlab release];
_passwd = [[uitextfield alloc] initwithframe:cgrectmake(padx, 53, 200, 40)];
[_passwd setbackgroundcolor:[uicolor clearcolor]];
[_passwd setkeyboardtype:uikeyboardtypedefault];
[_passwd setborderstyle:uitextborderstylenone];
[_passwd setautocapitalizationtype:uitextautocapitalizationtypenone]; //关闭首字母大写
[_passwd setreturnkeytype:uireturnkeydone]; //完成
[_passwd setsecuretextentry:yes]; //验证
[_passwd setdelegate:self];
[_passwd settag:102];
[_passwd settextcolor:[uicolor graycolor]];
[_passwd setfont:lpfont];
[_passwd settext:@""
[_view addsubview:_passwd];
}
|
三、注册


顶部导航控制,代码实现如下:
?| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
- (void)addnavbar
{
if (_step == 1) {
[self setxdnav:yes];
//返回按钮
uibutton *btnleft = [[uibutton alloc] initwithframe:cgrectmake(0, 0, 24, 24)];
[btnleft setbackgroundimage:[uiimage imagenamed:@"item_back.png"] forstate:uicontrolstatenormal];
[btnleft setbackgroundimage:[uiimage imagenamed:@"item_back@2x.png"] forstate:uicontrolstatehighlighted];
[btnleft settag:101];
[btnleft.titlelabel setfont:[uifont boldsystemfontofsize:14]];
[btnleft addtarget:self action:@selector(btnclick:) forcontrolevents:uicontroleventtouchupinside];
uibarbuttonitem *navbarback = [[uibarbuttonitem alloc] initwithcustomview:btnleft];
[btnleft release];
[self.navigationitem setleftbarbuttonitem:navbarback];
[navbarback release];
//设标题
[self setxdtitle:@"注册" pagename:@""];
//添加返回按钮
[self addinputone]; //注册第一步
}else{
[self setxdtitle:@"宝贝信息设置" pagename:@""];
//返回按钮
uibutton *btnleft = [[uibutton alloc] initwithframe:cgrectmake(0, 0, 24, 24)];
[btnleft setbackgroundimage:[uiimage imagenamed:@"item_back.png"] forstate:uicontrolstatenormal];
[btnleft setbackgroundimage:[uiimage imagenamed:@"item_back@2x.png"] forstate:uicontrolstatehighlighted];
[btnleft settag:101];
[btnleft.titlelabel setfont:[uifont boldsystemfontofsize:14]];
[btnleft addtarget:self action:@selector(btnclick:) forcontrolevents:uicontroleventtouchupinside];
uibarbuttonitem *navbarback = [[uibarbuttonitem alloc] initwithcustomview:btnleft];
[btnleft release];
[self.navigationitem setleftbarbuttonitem:navbarback];
[navbarback release];
//右侧完成
uibarbuttonitem *navbarfinish = [[uibarbuttonitem alloc] initwithtitle:@"完成" style:uibarbuttonitemstyledone target:self action:@selector(btnclick:)];
navbarfinish.tag = 102;
//[_navbarfinish addtarget:self action:@selector(btnclick:) forcontrolevents:uicontroleventtouchupinside];
self.navigationitem.rightbarbuttonitem = navbarfinish;
[navbarfinish release];
[self addinputtow];
}
}
|
注册分两步:
第一步基本信息注册,代码如下
?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
//创建输入框
- (void)addinputone
{
//基本参数定义
cgfloat padx = 95.0f;
_vframe = cgrectmake(10, 14, 300, 125);
uifont *lpfont = [uifont boldsystemfontofsize:16];
//邮箱和密码背景颜色设置
_view = [[uiview alloc] initwithframe:_vframe];
_view.layer.cornerradius = 8.0;
_view.layer.borderwidth = 1;
_view.layer.bordercolor = [uicolor colorwithred:209.0f/255.0f green:209.0f/255.0f blue:209.0f/255.0f alpha:1.0f].cgcolor;
[_view setbackgroundcolor:[uicolor colorwithred:247.0f/255.0f green:247.0f/255.0f blue:247.0f/255.0f alpha:1.0f]];
[self.view addsubview:_view];
[_view release];
//用户名与密码中间分割线
uiview *lineone = [[uiview alloc] initwithframe:cgrectmake(10, 53, 300, 1)];
[lineone setbackgroundcolor:[uicolor colorwithred:209.0f/255.0f green:209.0f/255.0f blue:209.0f/255.0f alpha:1.0f]];
[self.view addsubview:lineone];
[lineone release];
//用户名
uilabel *_unamelab = [[uilabel alloc] initwithframe:cgrectmake(20, 2, 55, 40)];
[_unamelab settext:@"用户名"];
_unamelab.highlighted = yes;
_unamelab.highlightedtextcolor = [uicolor blackcolor];
[_unamelab setfont:lpfont];
[_unamelab setbackgroundcolor:[uicolor clearcolor]];
[_unamelab settextcolor:[uicolor blackcolor]];
[_view addsubview:_unamelab];
[_unamelab release];
_uname = [[uitextfield alloc] initwithframe:cgrectmake(padx, 10, 230, 40)];
[_uname setbackgroundcolor:[uicolor clearcolor]];
[_uname settag:101];
[_uname setuserinteractionenabled:yes];
[_uname setkeyboardtype:uikeyboardtypedefault];
[_uname setreturnkeytype:uireturnkeynext]; //键盘下一步next
[_uname setautocapitalizationtype:uitextautocapitalizationtypenone]; //关闭首字母大写
[_uname setautocorrectiontype:uitextautocorrectiontypeno];
[_uname setreturnkeytype:uireturnkeynext]; //下一个passwd
[_uname becomefirstresponder]; //默认打开键盘
[_uname setfont:[uifont systemfontofsize:17]];
[_uname setdelegate:self];
[_uname settext:@""];
[_uname sethighlighted:yes];
[_view addsubview:_uname];
//密码
uilabel *_passwdlab = [[uilabel alloc] initwithframe:cgrectmake(20, 43, 45, 40)];
[_passwdlab settext:@"密 码"];
[_passwdlab setfont:lpfont];
_passwdlab.highlighted = yes;
_passwdlab.highlightedtextcolor = [uicolor blackcolor];
[_passwdlab setbackgroundcolor:[uicolor clearcolor]];
[_passwdlab settextcolor:[uicolor blackcolor]];
[_view addsubview:_passwdlab];
[_passwdlab release];
_passwd = [[uitextfield alloc] initwithframe:cgrectmake(padx, 53, 200, 40)];
[_passwd setbackgroundcolor:[uicolor clearcolor]];
[_passwd setkeyboardtype:uikeyboardtypedefault];
[_passwd setborderstyle:uitextborderstylenone];
[_passwd setautocapitalizationtype:uitextautocapitalizationtypenone]; //关闭首字母大写
[_passwd setreturnkeytype:uireturnkeynext]; //下一个email
[_passwd setsecuretextentry:yes]; //验证
[_passwd setdelegate:self];
[_passwd settag:102];
[_passwd settextcolor:[uicolor graycolor]];
[_passwd setfont:lpfont];
[_passwd settext:@""];
[_view addsubview:_passwd];
//邮箱与密码中间分割线
uiview *linetow = [[uiview alloc] initwithframe:cgrectmake(10, 95, 300, 1)];
[linetow setbackgroundcolor:[uicolor colorwithred:209.0f/255.0f green:209.0f/255.0f blue:209.0f/255.0f alpha:1.0f]];
[self.view addsubview:linetow];
[linetow release];
//用户邮箱
uilabel *_emaillab = [[uilabel alloc] initwithframe:cgrectmake(20, 82, 280, 40)];
[_emaillab settext:@"电子邮箱"];
_emaillab.highlighted = yes;
_emaillab.highlightedtextcolor = [uicolor blackcolor];
[_emaillab setfont:lpfont];
[_emaillab setbackgroundcolor:[uicolor clearcolor]];
[_emaillab settextcolor:[uicolor blackcolor]];
[_view addsubview:_emaillab];
[_emaillab release];
_email = [[uitextfield alloc] initwithframe:cgrectmake(padx, 92, 200, 40)];
[_email setbackgroundcolor:[uicolor clearcolor]];
[_email setkeyboardtype:uikeyboardtypeemailaddress];
[_email settextcolor:[uicolor graycolor]];
[_email settag:103];
[_email setreturnkeytype:uireturnkeydone]; //键盘下一步next
[_email setautocapitalizationtype:uitextautocapitalizationtypenone]; //关闭首字母大写
[_email setautocorrectiontype:uitextautocorrectiontypeno];
[_email setfont:[uifont systemfontofsize:17]];
[_email setdelegate:self];
[_email setplaceholder:@"devdiy@example.com"];
[_email settext:@""];
[_email sethighlighted:yes];
[_view addsubview:_email];
}
|
第二步完善资源输入,代码实现如下:
?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
//创建输入框
- (void)addinputtow
{
//基本参数定义
cgfloat padx = 100.0f;
_vframe = cgrectmake(10, 10, 300, 125);
uifont *lpfont = [uifont boldsystemfontofsize:16];
//宝贝小名、宝贝性别、宝贝生日背景颜色设置
_view = [[uiview alloc] initwithframe:_vframe];
_view.layer.cornerradius = 8.0;
_view.layer.borderwidth = 1;
_view.layer.bordercolor = [uicolor colorwithred:209.0f/255.0f green:209.0f/255.0f blue:209.0f/255.0f alpha:1.0f].cgcolor;
[_view setbackgroundcolor:[uicolor colorwithred:247.0f/255.0f green:247.0f/255.0f blue:247.0f/255.0f alpha:1.0f]];
[self.view addsubview:_view];
[_view release];
//宝贝小名和宝贝性别分割线
uiview *lineone = [[uiview alloc] initwithframe:cgrectmake(10, 10, 300, 1)];
[lineone setbackgroundcolor:[uicolor colorwithred:209.0f/255.0f green:209.0f/255.0f blue:209.0f/255.0f alpha:1.0f]];
[self.view addsubview:lineone];
[lineone release];
//宝贝小名
uilabel *_nicknamelab = [[uilabel alloc] initwithframe:cgrectmake(20, 2, 75, 40)];
[_nicknamelab settext:@"宝贝小名"];
_nicknamelab.highlighted = yes;
_nicknamelab.highlightedtextcolor = [uicolor blackcolor];
[_nicknamelab setfont:lpfont];
[_nicknamelab setbackgroundcolor:[uicolor clearcolor]];
[_nicknamelab settextcolor:[uicolor blackcolor]];
[_view addsubview:_nicknamelab];
[_nicknamelab release];
_nickname = [[uitextfield alloc] initwithframe:cgrectmake(padx, 13, 180, 40)];
[_nickname setbackgroundcolor:[uicolor clearcolor]];
[_nickname settag:101];
[_nickname setuserinteractionenabled:yes];
[_nickname setkeyboardtype:uikeyboardtypedefault];
[_nickname setreturnkeytype:uireturnkeynext]; //键盘下一步next
[_nickname setautocapitalizationtype:uitextautocapitalizationtypenone]; //关闭首字母大写
[_nickname setautocorrectiontype:uitextautocorrectiontypeno];
[_nickname setreturnkeytype:uireturnkeynext]; //下一个宝贝性别
[_nickname becomefirstresponder]; //默认打开键盘
[_nickname setfont:[uifont systemfontofsize:17]];
[_nickname setdelegate:self];
[_nickname settext:@""];
[_nickname sethighlighted:yes];
[_view addsubview:_nickname];
//宝贝性别
uilabel *_sexlab = [[uilabel alloc] initwithframe:cgrectmake(20, 35, 75, 50)];
[_sexlab settext:@"宝贝性别"];
[_sexlab setfont:lpfont];
_sexlab.highlighted = yes;
_sexlab.highlightedtextcolor = [uicolor blackcolor];
[_sexlab setbackgroundcolor:[uicolor clearcolor]];
[_sexlab settextcolor:[uicolor blackcolor]];
[_view addsubview:_sexlab];
[_sexlab release];
_segment = [[uisegmentedcontrol alloc] initwithitems:
[nsarray arraywithobjects:
@"男",@"女",
nil]];
_segment.frame = cgrectmake(padx+10, 56, 130, 32);
_segment.segmentedcontrolstyle = uisegmentedcontrolstyleplain;
_segment.selectedsegmentindex = 1;
[self.view addsubview:_segment];
[_segment release];
//宝贝性别与宝贝生日中间分割线
uiview *linetow = [[uiview alloc] initwithframe:cgrectmake(10, 93, 300, 1)];
[linetow setbackgroundcolor:[uicolor colorwithred:209.0f/255.0f green:209.0f/255.0f blue:209.0f/255.0f alpha:1.0f]];
[self.view addsubview:linetow];
[linetow release];
//宝贝生日
uilabel *_birthlab = [[uilabel alloc] initwithframe:cgrectmake(30, 96, 75, 40)];
[_birthlab settext:@"宝贝生日"];
_birthlab.highlighted = yes;
_birthlab.highlightedtextcolor = [uicolor blackcolor];
[_birthlab setfont:lpfont];
[_birthlab setbackgroundcolor:[uicolor clearcolor]];
[_birthlab settextcolor:[uicolor blackcolor]];
[self.view addsubview:_birthlab];
[_birthlab release];
_birthday = [[uibutton alloc] initwithframe:cgrectmake(57, 96, 200, 40)];
[_birthday setbackgroundcolor:[uicolor clearcolor]];
[_birthday settitlecolor:[uicolor blackcolor] forstate:uicontrolstatenormal];
[_birthday settitle:@"2004-10-09" forstate:uicontrolstatenormal];
[_birthday settag:104];
[_birthday addtarget:self action:@selector(openbirthday) forcontrolevents:uicontroleventtouchupinside];
[_birthday sethighlighted:yes];
[self.view addsubview:_birthday];
//宝贝信息提示
uilabel *_babynote = [[uilabel alloc] initwithframe:cgrectmake(45, 131, 300, 40)];
[_babynote setbackgroundcolor:[uicolor clearcolor]];
[_babynote settextcolor:[uicolor colorwithred:83.0f/255.0f green:92.0f/255.0f blue:112.0f/255.0f alpha:1.0f]];
[_babynote settag:104];
[_babynote setfont:[uifont systemfontofsize:14]];
[_babynote settext:@"推荐引擎会根据孩子信息进行个性推荐"];
[_babynote sethighlighted:yes];
[self.view addsubview:_babynote];
[_babynote release];
//初始日期选择控件
_datepicker = [[uidatepicker alloc] initwithframe:cgrectmake(0.0, 200.0, 0.0, 0.0)];
nsdateformatter *dateformatter = [[nsdateformatter alloc] init];
[dateformatter setdateformat:@"yyyy-mm-dd"];
//将当前生日时间设置到日期轮轴上
_datepicker.date = [dateformatter datefromstring:_birthday.titlelabel.text];
//设置为中文显示
nslocale *locale = [[nslocale alloc] initwithlocaleidentifier:@"zh_cn"];
_datepicker.locale = locale;
[locale release];
[_datepicker setdatepickermode:uidatepickermodedate];
[_datepicker addtarget:self action:@selector(datavaluechanged) forcontrolevents:uicontroleventvaluechanged];
[self.view addsubview:_datepicker];
}
|
四、注册,登录成功后直接进入个人中心页

顶部界面代码实现如下:
?| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
#pragma mark addheadview
- (void)addheadview
{
//头像背景设置
uiview *headview = [[uiview alloc] initwithframe:cgrectmake(0, 0, 320, 84)];
[headview setbackgroundcolor:[uicolor colorwithred:247.0f/255.0f green:247.0f/255.0f blue:247.0f/255.0f alpha:1.0f]];
//按钮方式添加左侧用头像
uibutton *headbtn = [[uibutton alloc] initwithframe:cgrectmake(10, 10, 64, 64)];
[headbtn setbackgroundimage:[uiimage imagenamed:@"baby_head.png"] forstate:uicontrolstatenormal];
headbtn.layer.cornerradius = 8.0;
headbtn.layer.maskstobounds = yes;
[headview addsubview:headbtn];
[headbtn release];
[self.view addsubview:headview];
//用户名
uilabel *unamelab = [[uilabel alloc] initwithframe:cgrectmake(89, 15, 200, 20)];
[unamelab settext:@"balbaba"];
[unamelab settextcolor:[uicolor blackcolor]];
[unamelab setfont:[uifont boldsystemfontofsize:16]];
[unamelab setbackgroundcolor:[uicolor clearcolor]];
[headview addsubview:unamelab];
//宝贝头像小图
uiimageview *iconview = [[uiimageview alloc] initwithframe:cgrectmake(89, 38, 24, 24)];
[iconview setimage:[uiimage imagenamed:@"baby_gender_boy.png"]];
[headview addsubview:iconview];
//宝贝昵称
uilabel *nicknamelab = [[uilabel alloc] initwithframe:cgrectmake(120, 40, 120, 20)];
[nicknamelab settext:@"宝贝qgggfgghhjjjk"];
[nicknamelab settextcolor:[uicolor blackcolor]];
[nicknamelab setfont:[uifont systemfontofsize:14]];
[nicknamelab setbackgroundcolor:[uicolor clearcolor]];
[headview addsubview:nicknamelab];
//宝贝生日
uilabel *birthdaylab = [[uilabel alloc] initwithframe:cgrectmake(230, 40, 80, 20)];
[birthdaylab settext:@", 4岁3个月"];
[birthdaylab settextcolor:[uicolor blackcolor]];
[birthdaylab setfont:[uifont systemfontofsize:14]];
[birthdaylab setbackgroundcolor:[uicolor clearcolor]];
[headview addsubview:birthdaylab];
[headview release];
}
|
分段表格视图实现代码如下:
?| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
#pragma mark addtableview
- (void)addtableview
{
_tableview = [[uitableview alloc] initwithframe:cgrectmake(0, 84, 320, 416) style:uitableviewstyleplain];
[_tableview setdelegate:self];
[_tableview setdatasource:self];
//清除分隔线
//_tableview.separatorstyle = uitableviewcellseparatorstylenone;
[self.view addsubview:_tableview];
}
//代理-每个行的cell
- (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath
{
nsstring *iden = [nsstring stringwithformat:@"_ucentercell_%d", 1];
ucentercell *cell = [tableview dequeuereusablecellwithidentifier:iden];
if (cell == nil) {
cell = [[[ucentercell alloc] initwithstyle:uitableviewcellstyledefault reuseidentifier:iden] autorelease];
}
//cell.selectionstyle = uitableviewcellselectionstylenone;
cell.accessorytype = uitableviewcellaccessorydisclosureindicator;
nsdictionary *dic = [[[_datalist objectatindex:indexpath.section] objectforkey:@"subs"] objectatindex:indexpath.row];
[cell setvaluefordictionary:dic];
return cell;
}
//多少个段
- (nsinteger)numberofsectionsintableview:(uitableview *)tableview
{
return [_datalist count];
}
//段的高度
-(cgfloat)tableview:(uitableview *)tableview heightforheaderinsection:(nsinteger)section
{
return 22;
}
//设置每段显示title
- (nsstring *)tableview:(uitableview *)tableview titleforheaderinsection:(nsinteger)section
{
return [[[[_datalist objectatindex:section] objectforkey:@"subs"] objectatindex:0] objectforkey:@"section"];
}
//代理-每段有多少行
- (nsinteger)tableview:(uitableview *)tableview numberofrowsinsection:(nsinteger)section
{
return [[[_datalist objectatindex:section] objectforkey:@"subs"] count];
}
//代理-计算每个行的高度
- (cgfloat)tableview:(uitableview *)tableview heightforrowatindexpath:(nsindexpath *)indexpath
{
return 44.0f;
}
//代理-选择行的触发事件
- (void)tableview:(uitableview *)tableview didselectrowatindexpath:(nsindexpath *)indexpath
{
[tableview deselectrowatindexpath:indexpath animated:yes];
//点击推出页面
detailviewcontroller *rvc = [[detailviewcontroller alloc] init];
[self.navigationcontroller pushviewcontroller:rvc animated:yes];
[rvc release];
}
|
注:
1、注册、登录功能主要是锻练对键盘和输入框uitextfield、uisegment及uipickerview的熟练使用
2、在注册、登录时顶部导航左、中、右相关的"返回" 、"注册"、"完成"等按钮尽量直接使用系统的的类似下面代码
?| 1 2 3 |
[self.navigationitem setleftbarbuttonitem:navbarback];
self.navigationitem.rightbarbuttonitem = navbarfinish;
[self.navigationitem.titleview addsubview:segment];
|
在各个viewcontroller之间切换和控制。
至此完整的用户注册、登录、进入中心页界面实现就完成了,结合上面的代码实现其它ios项目app应用的功能和流程上大同小异,需要我们自己根据实际产品业务的要求
做出调整,希望对网友有帮助。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。








发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。