標籤:pos tco use nes auto gis line nsa 改變
設定與協助
改動頭像, 改動password, 移動客服, 協助, 聲明, 關於我們.
代碼
//// IndexSetting600ViewController.h// SymptomChecker//// Created by wang on 2015-7-21.////#import "CYTableViewController.h"@interface IndexSetting600ViewController : CYTableViewController@end
//// IndexSetting600ViewController.m// SymptomChecker//// Created by wang on 2015-7-21.////#import "IndexSetting600ViewController.h"#import "UserCenter600Item.h"#import "UserInfoEditingItem.h" // 改動頭像#import "PortraitPickerViewController.h" // 照片視圖#import "ModifyPasswordViewController.h" // 改動password#import "LocalPasswordViewController.h"#import "CYWebFromLocalViewController.h" // 協助/聲明#import "CYAboutUsViewController.h" // 關於我們#define kViewRadio viewWidth()/320@interface IndexSetting600ViewController () <PortraitPickerViewControllerDelegate>@end@implementation IndexSetting600ViewController { UserFigureEditingItem *_figureItem; // 改動頭像 PortraitPickerViewController *_portraitPickerViewController; // 改動頭像視圖 Setting600Item *_changeSecret; // 改動登入password Setting600Item *_chunyuTel; // 移動客服 Setting600Item *_helpItem; // 協助 Setting600Item *_shengMing; // 聲明 Setting600Item *_aboutUs; // 關於我們 Setting600SeparateItem *_separateItem; // 空白切割cell FilledColorButton *_logoutButton; // 登出button UIView *_logoutFooterView;}- (id) initWithQuery:(NSDictionary *)query { self = [super initWithQuery: query]; if (self) { self.title = @"設定與協助"; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(createModel) name:kRegisterLocalPassword object:nil]; } return self;}- (void) dealloc { [[NSNotificationCenter defaultCenter] removeObserver: self];}- (void) viewDidLoad { [super viewDidLoad]; [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone]; [self createTableItems]; // 確保item已經建立出來}- (void) viewWillAppear:(BOOL)animated { [super viewWillAppear: animated];}//// 建立一次僅僅需//- (void) createTableItems { CY_DEFINE_SELF_BAR(self); User* user = [User currentUser]; // 改動頭像 _figureItem = [[UserFigureEditingItem alloc] initWithTitle:@"頭像" value:[user.matPhoto getMediaUrl]]; [self.tableViewActions attachToObject:_figureItem tapBlock:^BOOL(id object, id target, NSIndexPath *indexPath) { [_self editUserFigure]; return YES; }]; // 改動登入password _changeSecret = [[Setting600Item alloc] initWithTitle: @"改動登入password"]; _changeSecret.type = kSetting600Top; [self.tableViewActions attachToObject: _changeSecret tapBlock:^BOOL(id object, id target, NSIndexPath *indexPath) { ModifyPasswordViewController *controller = [ModifyPasswordViewController new]; [_self cyPresentViewController:controller animated:YES]; return NO; }]; // 移動客服 _chunyuTel = [[Setting600Item alloc] initWithTitle: @"移動客服"]; _chunyuTel.type = kSetting600Middle; [self.tableViewActions attachToObject: _chunyuTel tapBlock: ^BOOL(id object, id target, NSIndexPath *indexPath) { NSString* feedBackPhoneNumber = @"4001100866"; [[UIApplication sharedApplication] openURL:[NSURL URLWithString: [NSString stringWithFormat: @"tel://%@", feedBackPhoneNumber]]]; return YES; }]; // 協助 _helpItem = [[Setting600Item alloc] initWithTitle: @"協助"]; _helpItem.type = kSetting600Middle; [self.tableViewActions attachToObject: _helpItem tapBlock: ^BOOL(id object, id target, NSIndexPath *indexPath) { CYWebFromLocalViewController* controller = [[CYWebFromLocalViewController alloc] initWithQuery:@{@"title" : @"協助", @"local_name" : @"help"}]; [self.navigationController pushViewController:controller animated:YES]; return YES; }]; // 聲明 _shengMing = [[Setting600Item alloc] initWithTitle: @"聲明"]; _shengMing.type = kSetting600Middle; [self.tableViewActions attachToObject:_shengMing tapBlock:^BOOL(id object, id target, NSIndexPath *indexPath) { CYWebFromLocalViewController* controller = [[CYWebFromLocalViewController alloc] initWithQuery:@{@"title" : @"聲明", @"local_name" : @"statement"}]; [self.navigationController pushViewController:controller animated:YES]; return YES; }]; // 關於我們 _aboutUs = [[Setting600Item alloc] initWithTitle: @"關於我們"]; _aboutUs.type = kSetting600Bottom; [self.tableViewActions attachToObject:_aboutUs tapBlock:^BOOL(id object, id target, NSIndexPath *indexPath) { CYAboutUsViewController* controller = [[CYAboutUsViewController alloc] initWithQuery:@{@"title" : @"關於我們", @"local_name" : @"about"}]; [self.navigationController pushViewController:controller animated:YES]; return YES; }]; // 切割 _separateItem = [[Setting600SeparateItem alloc] init]; // 底部視圖 _logoutFooterView = [UIView viewWithFrame:CGRectMake(0, 0, self.view.width, 92*kViewRadio) andBkColor:[UIColor clearColor]]; self.tableView.tableFooterView = _logoutFooterView; // 版本號碼資訊 UILabel *versionLabel = [UILabel labelWithFrame:CGRectMake(0, 8*kViewRadio, viewWidth(), 12*kViewRadio) fontSize:11 fontColor:RGBCOLOR_HEX(0x522121) text:[NSString stringWithFormat: @"目前的版本號 :%@", @"1.0.0"] ]; [versionLabel setTextAlignment:NSTextAlignmentCenter]; [_logoutFooterView addSubview:versionLabel]; CGRect logoutRect = CGRectMake(16*kViewRadio, versionLabel.bottom+16*kViewRadio, viewWidth()-32*kViewRadio, 44*kViewRadio); // 登出button _logoutButton = [[FilledColorButton alloc] initWithFrame: logoutRect color: RGBCOLOR_HEX(0xe85454) highlightedColor: RGBCOLOR_HEX(0xa43939) textColor: [UIColor whiteColor] title: @"登出" fontSize: 16*kViewRadio isBold: YES]; [_logoutButton addTarget: self action: @selector(onLogOutBtnpressed:) forControlEvents: UIControlEventTouchUpInside]; [_logoutFooterView addSubview:_logoutButton];}- (void)editUserFigure { _portraitPickerViewController = [[PortraitPickerViewController alloc] initWithParent:self]; _portraitPickerViewController.delegate = self; [_portraitPickerViewController showOptions];}- (void) createModel { NSArray *dataItems; if ([User hasLoggedIn]) { dataItems = @[_separateItem, _figureItem, // 改動頭像 _separateItem, _changeSecret,// 改動登入password _chunyuTel, // 移動客服 _helpItem, // 協助 _shengMing, // 聲明 _aboutUs, // 關於我們 _separateItem]; } else { _logoutButton.hidden = YES; _logoutFooterView.height = 40; dataItems = @[_separateItem, _chunyuTel, // 移動客服 _helpItem, // 協助 _shengMing, // 聲明 _aboutUs, // 關於我們 _separateItem]; } self.tableViewModel = [[NITableViewModel alloc] initWithListArray:dataItems delegate:self.cellFactory];}#pragma mark - btn-selectors// 點擊登出- (void) onLogOutBtnpressed:(UIButton*) sender { NIDPRINTMETHODNAME(); // 登出 [[AutoLoginManager sharedInstance] logout]; // 更新當前的介面 [self createModel]; [self backToLastController: nil]; // 讓別的地方改變UI [[NSNotificationCenter defaultCenter] postNotificationName:kNotificationUserLogout object:nil]; // 擷取未登入的badge [[NSNotificationCenter defaultCenter] postNotificationName:kNotificationCheckBadge object:nil];}@end
效果
IOS - 設定與協助介面