IOS彩票第二天设置界面(1)
****跳转到设置界面
- (IBAction)setting:(id)sender { // 创建设置口控制器 ILSettingTableViewController *settingVc = [[ILSettingTableViewController alloc] init]; // 调整到设置界面 [self.navigationController pushViewController:settingVc animated:YES]; }
******ILSettingTableViewController.m
#import "ILSettingTableViewController.h" #import "ILSettingCell.h" #import "ILSettingItem.h" #import "ILSettingArrowItem.h" #import "ILSettingSwitchItem.h" #import "ILSettingGroup.h" #import "ILTestViewController.h" @interface ILSettingTableViewController () @property (nonatomic, strong) NSMutableArray *dataList; @end @implementation ILSettingTableViewController - (NSMutableArray *)dataList { if (_dataList == nil) { _dataList = [NSMutableArray array]; // 0组 ILSettingArrowItem *pushNotice = [ILSettingArrowItem itemWithIcon:@"MorePush" title:@"推送和提醒"]; pushNotice.destVcClass = [ILTestViewController class]; pushNotice.destVcName = @"ILTestViewController"; ILSettingItem *yaoyiyao = [ILSettingSwitchItem itemWithIcon:@"handShake" title:@"摇一摇机选"]; ILSettingGroup *group0 = [[ILSettingGroup alloc] init]; group0.items = @[pushNotice,yaoyiyao]; group0.header = @"asdas"; group0.footer = @"asdasd"; // 1组 ILSettingItem *newVersion = [ILSettingArrowItem itemWithIcon:@"MoreUpdate" title:@"检查新版本"]; ILSettingItem *help = [ILSettingArrowItem itemWithIcon:@"MoreHelp" title:@"帮助"]; ILSettingGroup *group1 = [[ILSettingGroup alloc] init]; group1.header = @"帮助"; group1.items = @[newVersion,help]; [_dataList addObject:group0]; [_dataList addObject:group1]; } return _dataList; } - (id)init { return [super initWithStyle:UITableViewStyleGrouped]; } - (void)viewDidLoad { [super viewDidLoad]; // Uncomment the following line to preserve selection between presentations. // self.clearsSelectionOnViewWillAppear = NO; // Uncomment the following line to display an Edit button in the navigation bar for this view controller. // self.navigationItem.rightBarButtonItem = self.editButtonItem; } #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return self.dataList.count; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { // Return the number of rows in the section. ILSettingGroup *group = self.dataList[section]; return group.items.count; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { // 创建cell ILSettingCell *cell = [[ILSettingCell class] cellWithTableView:tableView]; // 取出模型 ILSettingGroup *group = self.dataList[indexPath.section]; ILSettingItem *item = group.items[indexPath.row]; // 传递模型 cell.item = item; return cell; } //设置头部标题 - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { ILSettingGroup *group = self.dataList[section]; return group.header; } //底部标题 - (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section { ILSettingGroup *group = self.dataList[section]; return group.footer; } //点击cell - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { // 取出模型 ILSettingGroup *group = self.dataList[indexPath.section]; ILSettingItem *item = group.items[indexPath.row]; if ([item isKindOfClass:[ILSettingArrowItem class]]) { // 需要跳转控制器 ILSettingArrowItem *arrowItem = (ILSettingArrowItem *)item; // Class vcClass = NSClassFromString(arrowItem.destVcName); // 创建跳转的控制器 UIViewController *vc = [[arrowItem.destVcClass alloc] init]; [self.navigationController pushViewController:vc animated:YES]; } } @end
***ILSettingTableViewController.h
#import <UIKit/UIKit.h> @interface ILSettingTableViewController : UITableViewController @end
*****model base ILSettingItem.h
#import <Foundation/Foundation.h> //typedef enum : NSUInteger { // ILSettingItemTypeArrow, // ILSettingItemTypeSwitch, //} ILSettingItemType; @interface ILSettingItem : NSObject @property (nonatomic, copy) NSString *title; @property (nonatomic, copy) NSString *icon; //@property (nonatomic, assign) ILSettingItemType type; + (instancetype)itemWithIcon:(NSString *)icon title:(NSString *)title; @end
***********ILSettingItem.m
#import "ILSettingItem.h" @implementation ILSettingItem + (instancetype)itemWithIcon:(NSString *)icon title:(NSString *)title { ILSettingItem *item = [[self alloc] init]; item.icon = icon; item.title = title; return item; } @end
****** ILSettingGroup.h
#import <Foundation/Foundation.h> @interface ILSettingGroup : NSObject @property (nonatomic, copy) NSString *header; @property (nonatomic, strong) NSArray *items; @property (nonatomic, copy) NSString *footer; @end
****** ILSettingGroup.m
#import "ILSettingGroup.h" @implementation ILSettingGroup @end
没有失败, 只有放弃...