IOS - 个人中心界面
来源:互联网 发布:自学钢琴软件 编辑:程序博客网 时间:2024/05/01 07:01
个人中心界面:
用户信息, 服务历史, 会员中心, 设置与帮助, 意见反馈.
代码
//// IndexUserCenter600ViewController.h// SymptomChecker//// Created by Wang on 2015-7-21.////#import "CYTableViewController.h"@interface IndexUserCenter600ViewController : CYTableViewController- (void)setLoginStatus;@end
//// IndexUserCenter600ViewController.m// SymptomChecker//// Created by Wang on 2015-7-21.////#import "IndexUserCenter600ViewController.h"#import "UserCenter600Item.h"#import "MATUserInfoViewInSettingView.h"#import "UserInfoViewInSettingView.h"#import "IndexTelHistoryViewController.h" // 服务历史#import "MATMemberCenterViewController.h" // 会员中心页面#import "IndexSetting600ViewController.h" // 设置与帮助#import "FeedbackDetailViewController.h" // 意见反馈#define kViewRadio viewWidth()/320@interface IndexUserCenter600ViewController ()@end@implementation IndexUserCenter600ViewController { MATUserInfoViewInSettingView *_mUserHeaderView; // 默认用户信息 UserInfoViewInSettingView *_dUserHeaderView; // 用户信息 UserCenter600Item *_serviceHistoryItem; // 服务历史 UserCenter600Item *_vipDetailItem; // 会员中心 UserCenter600Item *_settingsItem; // 设置与帮助 UserCenter600Item *_adviceItem; // 意见反馈 BOOL _isLogin; // 是否登录}- (id) initWithQuery:(NSDictionary *)query { self = [super initWithQuery: query]; if (self) { self.title = @"我的账号"; // 隐藏底部信息 self.hidesBottomBarWhenPushed = NO; [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(userInfoChanged) name: kUserLoginSucceed object: nil]; [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(logout) name: kNotificationUserLogout object: nil]; [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(onVIPMemberStatusChanged) name: kNotificationVIPInfoChanged object: nil]; [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(userInfoChanged) name: kNotificationNickNameChanged object: nil]; [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(userInfoChanged) name: kNotificationPortraitChanged object: nil]; } return self;}- (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self];}- (void) viewDidLoad { [super viewDidLoad]; [self createTableItems]; [self.view setBackgroundColor:[UIColor whiteColor]]; [self.tableView setBackgroundColor:[UIColor clearColor]]; [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];}// 切换Tab调用的函数- (void) viewWillAppear:(BOOL)animated { [super viewWillAppear: animated]; [self setLoginStatus];}// 创建Model- (void) createModel { [self setLoginStatus];}//// 创建用到的item//- (void) createTableItems { NIDPRINTMETHODNAME(); WEAK_VAR(self); CGRect headerRect = CGRectMake(0, 0, viewWidth(), 192*kViewRadio); // 用户信息 _mUserHeaderView = [[MATUserInfoViewInSettingView alloc] initWithFrame:headerRect]; [self.tableView setTableHeaderView:_mUserHeaderView]; // 服务历史 _serviceHistoryItem = [[UserCenter600Item alloc] initWithIcon:@"service_his_600.png" name:@"服务历史"]; [self.tableViewActions attachToObject: _serviceHistoryItem tapBlock:^BOOL(id object, id target, NSIndexPath *indexPath) { // 服务历史页面 IndexTelHistoryViewController *controller = [[IndexTelHistoryViewController alloc] initWithNavigatorURL:nil query:nil]; [_self navigateToController:controller]; return NO; }]; // 会员中心 _vipDetailItem = [[UserCenter600Item alloc] initWithIcon:@"main_menu_account_icon.png" name:@"会员中心"]; [self.tableViewActions attachToObject: _vipDetailItem tapBlock:^BOOL(id object, id target, NSIndexPath *indexPath) { // 会员中心页面 MATMemberCenterViewController* controller = [[MATMemberCenterViewController alloc] initWithNavigatorURL:nil query:@{@"source":@"vip"}]; [_self navigateToController:controller]; return NO; }]; // 设置与帮助 _settingsItem = [[UserCenter600Item alloc] initWithIcon: @"setting_600.png" name: @"设置与帮助"]; [self.tableViewActions attachToObject: _settingsItem tapBlock:^BOOL(id object, id target, NSIndexPath *indexPath) { // 设置与帮助页面 IndexSetting600ViewController *controller = [[IndexSetting600ViewController alloc] initWithQuery: nil]; [_self navigateToController:controller]; return NO; }]; // 意见反馈 _adviceItem = [[UserCenter600Item alloc] initWithIcon: @"suggest_600.png" name: @"意见反馈"]; [self.tableViewActions attachToObject: _adviceItem tapBlock:^BOOL(id object, id target, NSIndexPath *indexPath) { // 直接进入建议详情 FeedbackDetailViewController* controller = [[FeedbackDetailViewController alloc] initWithNavigatorURL:nil query:nil]; [_self navigateToController:controller]; return NO; }];}- (void)navigateToController:(CYViewController *)controller { [[SymptomCheckerAppDelegate appDelegate].topViewController.navigationController pushViewController:controller animated:NO];}//// 根据用户的登录状态,来设置UI//- (void)setLoginStatus { NIDPRINTMETHODNAME(); NSArray *tableItems; if ([User hasLoggedIn]) { CGRect headerRect = CGRectMake(0, 0, viewWidth(), 192*kViewRadio); _dUserHeaderView = [[UserInfoViewInSettingView alloc] initWithFrame:headerRect]; [self.tableView setTableHeaderView:_dUserHeaderView]; [_dUserHeaderView logOut]; [_dUserHeaderView updateData]; // 已登录 tableItems = [@[_serviceHistoryItem, _vipDetailItem, _settingsItem, _adviceItem] mutableCopy]; } else { CGRect headerRect = CGRectMake(0, 0, viewWidth(), 192*kViewRadio); _mUserHeaderView = [[MATUserInfoViewInSettingView alloc] initWithFrame:headerRect]; [self.tableView setTableHeaderView:_mUserHeaderView]; // 未登录 tableItems = @[_settingsItem, _adviceItem]; } self.tableViewModel = [[NITableViewModel alloc] initWithListArray:tableItems delegate:self.cellFactory];}#pragma mark NotificationSelector// 登出操作已经在setting界面完成,这里只需要更新UI- (void) logout { // 更新当前的界面 [self setLoginStatus];}- (void) onVIPMemberStatusChanged { NIDPRINTMETHODNAME(); [self setLoginStatus];}//// 用户信息改变,包括用户金币,头像,昵称,任务数//- (void) userInfoChanged { NIDPRINTMETHODNAME(); [self setLoginStatus];}#pragma mark - AKTabBarController的相关配置- (NSString *)tabImageName { return @"btn_user_center_normal.png";}- (NSString *)tabImageNameSel { return @"btn_user_center_selected.png";}- (NSString *)tabTitle { return @"个人中心";}@end
效果
1 0
- IOS - 个人中心界面
- iOS 购物—个人中心界面
- IOS 通知中心(个人)
- android -------个人中心界面UI的实现。
- ios 个人界面 TableView
- iOS 使用tableView实现 个人中心列表
- iOS 使用tableView实现 个人中心列表
- iOS 使用tableView实现 个人中心列表
- 个人关于iOS推送中心优化的概念
- 个人关于iOS推送中心优化的概念
- iOS开发:通讯录之个人中心页面的实现
- iOS UI篇15- 个人中心设置头像
- iOS 仿 UC 浏览器个人中心 (下拉实现果冻效果)
- iOS 仿百度外卖-个人中心(头像波浪效果)
- iOS 仿百度外卖-个人中心(头像波浪效果)
- iOS 仿 UC 浏览器个人中心 (下拉实现果冻效果)
- 下拉实现头部图片放大效果,实现类似QQ,新浪个人中心界面
- 下拉实现头部图片放大效果,实现类似QQ,新浪个人中心界面
- 天声人語 20150721
- unity3d打包安卓so库不成功
- hibernate的缓存机制
- 运维时数据丢失如何做?
- less css api
- IOS - 个人中心界面
- mysql修改数据库表的字段
- 循序渐进Java Socket网络编程(多客户端、信息共享、文件传输)
- 机房收费系统之链接篇(SQL Server Error:26 & SQL Server Error:5120)
- ansible常用模块用法
- shell运算符
- Apache配置反向代理
- 二叉查找树 图文解析 和 Java的实现
- Android4.4中设置壁纸----壁纸显示不全