虚位以待(AD)
虚位以待(AD)
首页 > 软件编程 > IOS编程/Objective-C > IOS - 会员中心页面和逻辑

IOS - 会员中心页面和逻辑
类别:IOS编程/Objective-C   作者:码皇   来源:Mystra     点击:

会员中心界面:根据VIP状态的不同, 显示不同内容, 并设置按钮跳转支付页面 代码 MemberCenterViewController h SymptomChecker Created by C L Wang on 15 7 9 **

会员中心界面:
根据VIP状态的不同, 显示不同内容, 并设置按钮跳转支付页面.


代码

    //// MemberCenterViewController.h// SymptomChecker//// Created by C.L.Wang on 15/7/9./////** * 会员中心页面, 根据VIP状态显示不同. * @{
    link AutoLoginManager#queryUsableService}
    设置VIP状态 */#import CYModelViewController.h@interface MATMemberCenterViewController : CYModelViewController@end
    //// MemberCenterViewController.m// SymptomChecker//// Created by C.L.Wang on 15/7/9.////#import MATMemberCenterViewController.h#import VIPAlipayViewController.h // 支付页面#import UserLoginViewController.h // 登录页面#define kViewRatio viewWidth()/320 // 宽度单位@interface MATMemberCenterViewController ()@end@implementation MATMemberCenterViewController {
    UIImageView *_memberStateIcon;
    // 会员状态图片 UILabel *_memberStateText;
    // 会员状态文字 UILabel *_serviceOfOwnership;
    // 拥有服务 UILabel *_noserviceOfOwnership;
    // 未拥有服务 UIView *_infiniteTimesItem;
    // 健康数据 UIView *_selfExaminationItem;
    // 自我检查 UIView *_healthDataItem;
    // 无线次数 FilledColorButton *_processButton;
    // 处理按钮 BOOL _needRefresh;
    // 是否刷新}
    // 初始化类- (id) initWithNavigatorURL:(NSURL *)URL query:(NSDictionary *)query {
    self = [super initWithNavigatorURL:URL query:query];
    if (self) {
    [self resetData];
    }
    return self;
    }
    // 重置数据- (void) resetData {
    _needRefresh = YES;
    }
    // 页面初始化- (void)viewDidLoad {
    [super viewDidLoad];
    self.title = @会员中心;
    }
    // 页面显示- (void) viewWillAppear:(BOOL)animated {
    [super viewWillAppear: animated];
    if (_needRefresh && [User hasLoggedIn]) {
    _needRefresh = NO;
    NSMutableDictionary* access = [[NSMutableDictionary alloc] init];
    if ([[User currentUser] matIsVip] == 1) {
    // VIP [access setObject:@icon_mat_isvip forKey:@memberStateIcon];
    [access setObject:@已开通会员包月服务 forKey:@memberStateText];
    [access setObject:@1 forKey:@noserviceOfOwnership];
    [access setObject:@icon_mat_checked forKey:@infiniteTimesItem];
    [access setObject:@立即续费 forKey:@processButton];
    }
    else {
    // 非VIP [access setObject:@icon_mat_notvip forKey:@memberStateIcon];
    [access setObject:@暂未开通会员优惠 forKey:@memberStateText];
    [access setObject:@0 forKey:@noserviceOfOwnership];
    [access setObject:@icon_mat_notcheck forKey:@infiniteTimesItem];
    [access setObject:@立即开通 forKey:@processButton];
    }
    [self createModelWithDict:access];
    }
    }
    /** * 创建界面, VIP不同页面不同 * * @param access 是否VIP */- (void) createModelWithDict:(NSMutableDictionary*)access {
    [self.view setBackgroundColor:[UIColor whiteColor]];
    // 会员状态图标 _memberStateIcon = [CYResource loadImageView:access[@memberStateIcon] andFrame:CGRectMake(viewWidth()/2-36*kViewRatio, 36*kViewRatio, 72*kViewRatio, 72*kViewRatio)];
    [self.view addSubview:_memberStateIcon];
    // 会员状态文字 _memberStateText = [UILabel labelWithFrame:CGRectMake(0, _memberStateIcon.bottom+8*kViewRatio, viewWidth(), 36*kViewRatio) fontSize:20*kViewRatio fontColor:[UIColor blackColor] text:access[@memberStateText]];
    [_memberStateText setAdjustsFontSizeToFitWidth:YES];
    [_memberStateText setTextAlignment:NSTextAlignmentCenter];
    [self.view addSubview:_memberStateText];
    // 服务标题 _serviceOfOwnership = [UILabel labelWithFrame:CGRectMake(12*kViewRatio, _memberStateText.bottom, viewWidth(), 48*kViewRatio) fontSize:18*kViewRatio fontColor:[UIColor blackColor] text:@已享有服务];
    [_serviceOfOwnership setAdjustsFontSizeToFitWidth:YES];
    [_serviceOfOwnership setTextAlignment:NSTextAlignmentLeft];
    [self.view addSubview:_serviceOfOwnership];
    // 健康工具项 _healthDataItem = [[UIView alloc] initWithFrame:CGRectMake(12*kViewRatio, _serviceOfOwnership.bottom, viewWidth(), 32*kViewRatio)];
    [self.view addSubview:[self viewOfCombinationWithView:_healthDataItem image:@icon_mat_checked text:@健康数据跟踪记录]];
    // 自我检查项 _selfExaminationItem = [[UIView alloc] initWithFrame:CGRectMake(12*kViewRatio, _healthDataItem.bottom, viewWidth(), 32*kViewRatio)];
    [self.view addSubview:[self viewOfCombinationWithView:_selfExaminationItem image:@icon_mat_checked text:@自我检查全面分析]];
    // 未服务标题 CGRect cr = CGRectMake(12*kViewRatio, _selfExaminationItem.bottom, viewWidth(), ([access[@noserviceOfOwnership] intValue]==0)?48*kViewRatio:0);
    _noserviceOfOwnership = [UILabel labelWithFrame:cr fontSize:18*kViewRatio fontColor:[UIColor blackColor] text:([access[@noserviceOfOwnership] intValue]==0)?@开通可享有服务:@];
    [_noserviceOfOwnership setAdjustsFontSizeToFitWidth:YES];
    [_noserviceOfOwnership setTextAlignment:NSTextAlignmentLeft];
    [self.view addSubview:_noserviceOfOwnership];
    // 无线次数项 _infiniteTimesItem = [[UIView alloc] initWithFrame:CGRectMake(12*kViewRatio, _noserviceOfOwnership.bottom, viewWidth(), 32*kViewRatio)];
    [self.view addSubview:[self viewOfCombinationWithView:_infiniteTimesItem image:access[@infiniteTimesItem] text:@在线问诊不限次数]];
    // 处理按钮 _processButton = [[FilledColorButton alloc] initWithFrame:CGRectMake(12*kViewRatio, _infiniteTimesItem.bottom, viewWidth()-24*kViewRatio, 40*kViewRatio) type:kFilledBtnGreen title:access[@processButton]];
    [_processButton addTarget: self action: @selector(onSubmitBtnPressedAfterLogin:) forControlEvents: UIControlEventTouchUpInside];
    [self.view addSubview:_processButton];
    }
    /** * 左图片和右文字组合控件 * * @param view 父控件 * @param imageName 图片本地路径 * @param text 文字 * * @return 组合控件 */- (UIView*) viewOfCombinationWithView:(UIView*)view image:(NSString*)imageName text:(NSString*)text {
    // 图片视图 UIImageView* iv = [CYResource loadImageView:imageName andFrame:CGRectMake(0, 0, 16*kViewRatio, 16*kViewRatio)];
    [iv setContentMode:UIViewContentModeScaleToFill];
    // 文字视图 [view addSubview:iv];
    UILabel* tv = [UILabel labelWithFrame:CGRectMake(32*kViewRatio, 0, viewWidth(), 16*kViewRatio) fontSize:16*kViewRatio fontColor:[UIColor grayColor] text:text];
    [view addSubview:tv];
    return view;
    }
    // 按钮点击事件- (void) onSubmitBtnPressedAfterLogin:(UIButton*) sender {
    NIDPRINTMETHODNAME();
    if (![User hasLoggedIn]) {
    _needRefresh = YES;
    UserLoginViewController *controller = [UserLoginViewController new];
    [self cyPresentModalViewController:controller animated:YES];
    }
    else {
    NSDictionary *fakeData = @{
    @source: @vip, @problem_id: ENSURE_NOT_NULL(@1234), @ignore_tel: @(YES)}
    ;
    VIPAlipayViewController* controller = [[VIPAlipayViewController alloc]initWithNavigatorURL:nil query:fakeData];
    [self.navigationController pushViewController:controller animated:YES];
    }
    }
    - (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.}
    @end

会员中心页面
会员中心


 

 

相关热词搜索: 会员中心 逻辑 页面