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

 

posted @ 2015-09-07 14:43  iso  阅读(165)  评论(0编辑  收藏  举报