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
没有失败, 只有放弃...