IOS彩票第三天界面

******ios6 和ios7的适配

ILBaseTableViewController.m

- (void)viewDidLoad
{
    [super viewDidLoad];
    // 244 243 241
    
    // 设置tableView的背景颜色
    // ios6 backgroundView > backgroundColor
    self.tableView.backgroundView = nil;
    self.tableView.backgroundColor = ILColor(244, 243, 241);
    
    // 设置组间距
    self.tableView.sectionHeaderHeight = 20;
    self.tableView.sectionFooterHeight = 0;
    
#warning 适配ios7的组间距
    if (ios7) {
        
        self.tableView.contentInset = UIEdgeInsetsMake(-15, 0, 0, 0);
    }
    

}

************ILSettingCell.m

#import "ILSettingCell.h"

#import "ILSettingItem.h"

#import "ILSettingArrowItem.h"
#import "ILSettingSwitchItem.h"
#import "ILSettingLabelItem.h"

@interface ILSettingCell()


@property (nonatomic, strong) UIImageView *imgView;
@property (nonatomic, strong) UISwitch *switchView;
@property (nonatomic, strong) UILabel *labelView;

@property (nonatomic, weak) UIView *divider;

@end

@implementation ILSettingCell

- (UIView *)divider
{
    if (_divider == nil) {
        if (!ios7) { // 不是ios7才需要创建分割线
            UIView *divider  = [[UIView alloc] init];
            divider.backgroundColor = [UIColor blackColor];
            divider.alpha = 0.2;
            
            [self.contentView addSubview:divider];
            _divider = divider;
        }
    }
    
    return _divider;
}

- (UILabel *)labelView
{
    if (_labelView == nil) {
        _labelView = [[UILabel alloc] init];
        _labelView.bounds = CGRectMake(0, 0, 100, 44);
        _labelView.textColor = [UIColor redColor];
        _labelView.textAlignment = NSTextAlignmentRight;
    }
    return _labelView;
}

- (UIImageView *)imgView
{
    if (_imgView == nil) {
        _imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"CellArrow"]];
    }
    return _imgView;
}

- (UISwitch *)switchView
{
    if (_switchView == nil) {
        
        _switchView = [[UISwitch alloc] init];
    }
    return _switchView;
}


- (void)setItem:(ILSettingItem *)item
{
    _item = item;
    
    
    // 1.设置cell的子控件的数据
    [self setUpData];
    
    // 2.设置右边视图
    [self setUpAccessoryView];

}

// 设置cell的子控件的数据
- (void)setUpData
{
    if (_item.icon.length) {
        
        self.imageView.image = [UIImage imageNamed:_item.icon];
    }
    self.textLabel.text = _item.title;
    
    self.detailTextLabel.text = _item.subTitle;
}

// 设置右边视图
- (void)setUpAccessoryView
{
    if ([_item isKindOfClass:[ILSettingArrowItem class]]) { // 箭头
        self.accessoryView = self.imgView;
        self.selectionStyle = UITableViewCellSelectionStyleDefault;
    }else if ([_item isKindOfClass:[ILSettingSwitchItem class]]){ // Switch
        self.accessoryView = self.switchView;
        self.selectionStyle = UITableViewCellSelectionStyleNone;
    }else if ([_item isKindOfClass:[ILSettingLabelItem class]]){
        self.accessoryView = self.labelView;
        
        ILSettingLabelItem *labelItem = (ILSettingLabelItem *)_item;
        self.labelView.text = labelItem.text;
        self.selectionStyle = UITableViewCellSelectionStyleDefault;
    }else{
        self.accessoryView = nil;
        self.selectionStyle = UITableViewCellSelectionStyleDefault;
    }
}

#warning 快速创建cell
+ (instancetype)cellWithTableView:(UITableView *)tableView
{
    static NSString *ID = @"cell";
    ILSettingCell *cell = [tableView dequeueReusableCellWithIdentifier:ID ];
    
    if (cell == nil) {
        cell = [[ILSettingCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:ID];
    }
    
    return cell;
}

#warning 判断分割线是否需要显示
- (void)setIndexPath:(NSIndexPath *)indexPath
{
    _indexPath = indexPath;
    
    self.divider.hidden = indexPath.row == 0;
    
}

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
        // 237 233 218
       
        // 设置背景
        [self setUpBg];
        // 清空子视图的背景
        [self setSubViews];
        
    }
    
    return self;
}
#warning 设置背景
- (void)setUpBg
{
    // 设置背景图片
    UIView *bg = [[UIView alloc] init];
    bg.backgroundColor = [UIColor whiteColor];
    self.backgroundView = bg;
    
    
    // 设置选中的背景图片
    UIView *selectedBg = [[UIView alloc] init];
    selectedBg.backgroundColor = ILColor(237, 233, 218);
    self.selectedBackgroundView = selectedBg;
}

#warning 清空子控件的背景颜色
- (void)setSubViews
{
    self.textLabel.backgroundColor = [UIColor clearColor];
    self.detailTextLabel.backgroundColor = [UIColor clearColor];
}


#warning 适配ios6的cell
- (void)setFrame:(CGRect)frame
{
    
    if (!ios7) {
        
        frame.size.width += 20;
        frame.origin.x -= 10;
    }

    [super setFrame:frame];
}

#warning 设置分割线的frame
- (void)layoutSubviews
{
    [super layoutSubviews];
    
    CGFloat dividerX = self.textLabel.frame.origin.x;
    CGFloat dividerY = 0;
    CGFloat dividerH = 1;
    CGFloat dividerW = 320;
    
    self.divider.frame = CGRectMake(dividerX, dividerY, dividerW, dividerH);
}


@end

***********短信 分享,邮件分享ILShareViewController.h

#import "ILShareViewController.h"

#import "ILSettingItem.h"

#import "ILSettingArrowItem.h"
#import "ILSettingGroup.h"

#import "UMSocial.h"

#import <MessageUI/MessageUI.h>

@interface ILShareViewController ()<MFMessageComposeViewControllerDelegate,MFMailComposeViewControllerDelegate>

@property (nonatomic, assign) int age;

@end

@implementation ILShareViewController



- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    
    
    // 0组
    [self addGroup0];
    
}

- (void)addGroup0
{
    // 0组
    ILSettingArrowItem *sina = [ILSettingArrowItem itemWithIcon:@"WeiboSina" title:@"新浪分享" ];
    sina.option = ^{
        [[UMSocialDataService defaultDataService]  postSNSWithTypes:@[UMShareToSina] content:@"分享内嵌文字" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){
            if (response.responseCode == UMSResponseCodeSuccess) {
                NSLog(@"分享成功!");
            }
        }];

    
    };
    
    ILSettingItem *sms = [ILSettingArrowItem itemWithIcon:@"SmsShare" title:@"短信分享"];
    __weak ILShareViewController *share = self;
    sms.option = ^{
        MFMessageComposeViewController *vc = [[MFMessageComposeViewController alloc] init];
        // 设置短信内容
        vc.body = @"吃饭了没?";
        // 设置收件人列表
        vc.recipients = @[@"10010", @"02010010"];
        // 设置代理
        vc.messageComposeDelegate = share;
       
        share.age;
        // 显示控制器
        [share presentViewController:vc animated:YES completion:nil];

    };
    
    ILSettingItem *mail = [ILSettingArrowItem itemWithIcon:@"MailShare" title:@"邮件分享"];
    mail.option = ^{
        // 不能发邮件
        if (![MFMailComposeViewController canSendMail]) return;
        
        MFMailComposeViewController *vc = [[MFMailComposeViewController alloc] init];
        
        // 设置邮件主题
        [vc setSubject:@"会议"];
        // 设置邮件内容
        [vc setMessageBody:@"今天下午开会吧" isHTML:NO];
        // 设置收件人列表
        [vc setToRecipients:@[@"643055866@qq.com"]];
        // 设置抄送人列表
        [vc setCcRecipients:@[@"1234@qq.com"]];
        // 设置密送人列表
        [vc setBccRecipients:@[@"56789@qq.com"]];
        
        
        // 添加附件(一张图片)
        UIImage *image = [UIImage imageNamed:@"阿狸头像"];
        NSData *data = UIImagePNGRepresentation(image);
        [vc addAttachmentData:data mimeType:@"image/png" fileName:@"阿狸头像.png"];
        // 设置代理
//        vc.mailComposeDelegate = self;
//        // 显示控制器
//        [self presentViewController:vc animated:YES completion:nil];


    
    };
    
    ILSettingGroup *group0 = [[ILSettingGroup alloc] init];
    
    group0.items = @[sina,sms,mail];
    
    [self.dataList addObject:group0];
}

- (void)dealloc
{
    NSLog(@"dealloc");
}


// 当你取消发送短信的时候就会调用
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
    [self dismissViewControllerAnimated:YES completion:nil];
}

- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
    [self dismissViewControllerAnimated:YES completion:nil];
}
@end
ILShareViewController .h
#import "ILBaseTableViewController.h"

@interface ILShareViewController : ILBaseTableViewController

@end

*****拨打电话ILAboutViewController.m

#import "ILAboutViewController.h"

#import "ILSettingItem.h"

#import "ILSettingArrowItem.h"
#import "ILSettingGroup.h"

#import "ILAboutHeaderView.h"

@interface ILAboutViewController ()
@property (nonatomic, strong) UIWebView *webView;
@end

@implementation ILAboutViewController

- (UIWebView *)webView
{
    if (_webView == nil) {
        
        _webView = [[UIWebView alloc] init];
        
    }
    return _webView;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    // 0组
    [self addGroup0];
    
    self.tableView.tableHeaderView = [ILAboutHeaderView headerView];
    
}

- (void)addGroup0
{
    
    // 0组
    ILSettingArrowItem *score = [ILSettingArrowItem itemWithIcon:nil title:@"评分支持" destVcClass:nil];
    score.option = ^{
        // 评分
        NSString *appid = @"635768442";
        NSString *str = [NSString stringWithFormat:
                         @"itms-apps://itunes.apple.com/cn/app/id%@?mt=8", appid];
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];

    
    };
    
    
    ILSettingItem *tel = [ILSettingArrowItem itemWithIcon:nil title:@"客服电话"];
    tel.subTitle = @"020-83568090";
    tel.option = ^{
        [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"tel://10010"]]];

    };
    
    ILSettingGroup *group0 = [[ILSettingGroup alloc] init];
    group0.items = @[score,tel];
    
    [self.dataList addObject:group0];
    
}


@end

******帮助界面

#import "ILHelpViewController.h"


#import "ILSettingCell.h"

#import "ILSettingItem.h"

#import "ILSettingArrowItem.h"
#import "ILSettingSwitchItem.h"

#import "ILSettingGroup.h"

#import "ILHtml.h"

#import "ILHtmlViewController.h"

#import "ILNavigationController.h"

@interface ILHelpViewController ()
@property (nonatomic, strong) NSMutableArray *htmls;
@end

@implementation ILHelpViewController

- (NSMutableArray *)htmls
{
    if (_htmls == nil) {
        _htmls = [NSMutableArray array];
        
        
        NSString *fileName = [[NSBundle mainBundle] pathForResource:@"help.json" ofType:nil];
        NSData *data =  [NSData dataWithContentsOfFile:fileName];
        
        NSArray *jsonArr =  [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
        
        for (NSDictionary *dict in jsonArr) {
            ILHtml *html = [ILHtml htmlWithDict:dict];
            [_htmls addObject:html];
        }
    }
    return _htmls;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // 0组
    [self addGroup0];
    
}

- (void)addGroup0
{

    // 0组
    NSMutableArray *items = [NSMutableArray array];
    for (ILHtml *html in self.htmls) {
        ILSettingArrowItem *item = [ILSettingArrowItem itemWithIcon:nil title:html.title destVcClass:nil];
        [items addObject:item];
    }
  
    
    ILSettingGroup *group0 = [[ILSettingGroup alloc] init];
    group0.items = items;
    
    [self.dataList addObject:group0];
    
}


// 重写tableView的点击
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    // 取出每一行对应的Html模型
    ILHtml *html = self.htmls[indexPath.row];
    
    ILHtmlViewController *htmlVc = [[ILHtmlViewController alloc] init];
    htmlVc.title = html.title;
    htmlVc.html = html;
    
    ILNavigationController *nav = [[ILNavigationController alloc] initWithRootViewController:htmlVc];
    
    [self presentViewController:nav animated:YES completion:nil];
}

@end

********webview 的页面

#import "ILHtmlViewController.h"

#import "ILHtml.h"

@interface ILHtmlViewController ()<UIWebViewDelegate>

@end

@implementation ILHtmlViewController



- (void)loadView
{
    self.view = [[UIWebView alloc] init];
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    self.view.backgroundColor = [UIColor whiteColor];
    
    UIBarButtonItem *cancle = [[UIBarButtonItem alloc] initWithTitle:@"取消" style:UIBarButtonItemStyleBordered target:self action:@selector(cancle)];
    self.navigationItem.leftBarButtonItem = cancle;
    
    
    UIWebView *webView = (UIWebView *)self.view;
    
    // 加载资源包里面的Html
    NSURL *url = [[NSBundle mainBundle] URLForResource:_html.html withExtension:nil];
    
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    
    webView.delegate = self;
    
    [webView loadRequest:request];
    
}

// 加载完网页调用
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    NSString *js = [NSString stringWithFormat:@"window.location.href = '#%@';",_html.ID];
    [webView stringByEvaluatingJavaScriptFromString:js];
}

- (void)cancle
{
    // 回到上一个控制器
    [self dismissViewControllerAnimated:YES completion:nil];

}
@end

.h

#import <UIKit/UIKit.h>


@class ILHtml;
@interface ILHtmlViewController : UIViewController

@property (nonatomic, strong) ILHtml *html;

@end

 

posted @ 2015-09-08 11:57  iso  阅读(163)  评论(0编辑  收藏  举报