IOS开发之——彩票-帮助(11)

一 概述

  • 设置页面点击帮助,跳转帮助TableViewController页面
  • 点击帮助列表中的每一项,打开WebView显示具体信息

二 设置页面点击帮助,跳转帮助TableViewController页面

2.1 页面结构及功能分析

  • 帮助页面是一个列表,构建ILHelpViewController继承ILBaseTableViewController
  • 列表数据从Data下的help.json中获取,构建ILHtml Model存储help中的列表项
  • 重写tableView的didSelectRowAtIndexPath方法,ILHtmlViewController的view(WebView)展示信息
  • ILHtmlViewController中多个信息在同一个页面需要跳转时,使用window.location.href跳转id的指定位置

三 设置页面点击帮助,跳转帮助ableViewController页面

3.1 ILHtml(help.json)Model

ILHtml.h

#import <Foundation/Foundation.h>@interface ILHtml : NSObject
@property(nonatomic,copy) NSString *title;
@property(nonatomic,copy) NSString *ID;
@property(nonatomic,copy) NSString *html;+(instancetype)htmlWithDict:(NSDictionary *)dict;@end

ILHtml.m

#import "ILHtml.h"@implementation ILHtml+ (instancetype)htmlWithDict:(NSDictionary *)dict
{ILHtml *html=[[ILHtml alloc]init];html.title=dict[@"title"];html.ID=dict[@"id"];html.html=dict[@"html"];return html;
}
@end

3.2 ILHelpViewController(帮助页面)

#import "ILHelpViewController.h"
#import "ILSettingItem.h"
#import "ILSettingGroup.h"
#import "ILSettingCell.h"
#import "ILSettingArrowItem.h"
#import "ILSettingSwitchItem.h"
#import "ILScoreNoticeViewController.h"
#import "ILHtml.h"
#import "ILHtmlViewController.h"
#import "ILUINavigationController.h"@interface ILHelpViewController ()
//存储help.json
@property (nonatomic,strong) NSMutableArray *htmls;@end@implementation ILHelpViewController-(NSMutableArray *)htmls
{if (_htmls==nil) {_htmls=[NSMutableArray array];NSString *fileName=[[NSBundle mainBundle]pathForResource:@"MyResource/Data/help.json" ofType:nil];NSData *data=[NSData dataWithContentsOfFile:fileName];NSArray *jsonArr=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];for (NSDictionary *dict in jsonArr) {ILHtml *html=[ILHtml htmlWithDict:dict];[_htmls addObject:html];}}return _htmls;
}- (void)viewDidLoad {[super viewDidLoad];[self addGroup0];}
-(void)addGroup0
{//第0组
//    ILSettingItem *item1=[ILSettingArrowItem itemWithIcon:nil title:@"如何领奖?" destVcClass:nil];
//    ILSettingItem *item2=[ILSettingArrowItem itemWithIcon:nil title:@"如何充值?"];
//    ILSettingItem *item3=[ILSettingArrowItem itemWithIcon:nil title:@"如何提现?"];
//    ILSettingItem *item4=[ILSettingArrowItem itemWithIcon:nil title:@"如何购彩?"];
//    ILSettingItem *item5=[ILSettingArrowItem itemWithIcon:nil title:@"如何连续多期购买?"];
//
//    ILSettingGroup *group0=[[ILSettingGroup alloc]init];
//    group0.items=@[item1,item2,item3,item4,item5];
//    group0.header=@"标题头部-1";
//    group0.footer=@"标题尾部-1";
//
//    [self.dataList addObject:group0];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.html=html;htmlVc.title=html.title;ILUINavigationController *nav=[[ILUINavigationController alloc]initWithRootViewController:htmlVc];[self presentViewController:nav animated:YES completion:nil];
}@end

说明:

  • 跳转时使用ILUINavigationController,已经定义好了标题颜色和样式
  • ILUINavigationController通过initWithRootViewController关联ILHtmlViewController

四 点击帮助列表中的每一项,打开WebView显示具体信息

4.1 ILHtmlViewController.h

#import <UIKit/UIKit.h>
@class ILHtml;
@interface ILHtmlViewController : UIViewController
@property(nonatomic,strong) ILHtml *html;@end

4.2 ILHtmlViewController.m

#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(cancel)];self.navigationItem.leftBarButtonItem=cancle;UIWebView *webView=(UIWebView *)self.view;NSURL *url=[[NSBundle mainBundle]URLForResource:[NSString stringWithFormat:@"MyResource/Html/%@",_html.html] withExtension:nil];NSURLRequest *request=[NSURLRequest requestWithURL:url];webView.delegate=self;[webView loadRequest:request];
}-(void)cancel
{//回到上一个控制器[self dismissViewControllerAnimated:YES completion:nil];
}
-(void)webViewDidFinishLoad:(UIWebView *)webView
{NSString *js=[NSString stringWithFormat:@"window.location.href='#%@';",_html.ID];[webView stringByEvaluatingJavaScriptFromString:js];
}
@end

五 效果图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/58598.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苹果 iOS 16.0.3 正式版发布:修复 iPhone 14 Pro / Max 通知延迟、相机启动慢等问题

IT之家 10 月 11 日消息&#xff0c;苹果今日面向 iPhone 用户推送了 iOS 16.0.3 正式版更新&#xff08;内部版本号 20A392&#xff09;&#xff0c;距离上个正式版隔了 17 天。iOS 16.0.3 正式版更新大小达到了 1.21GB&#xff0c;带来了多项修复内容。 iPhone 14 Pro 和 iPh…

IOS开发之——彩票-检查更新(7)

一 概述 初始化SettingItem时&#xff0c;指定跳转页面地址或执行动作检查更新——MBProgressHUD用法检查更新——UIAlertController用法 二 初始化SettingItem时&#xff0c;指定跳转页面地址或执行动作 2.1 destVcClass跳转页面(ILSettingArrowItem) (instancetype)itemWi…

苹果回应巴西政府禁止销售不附赠充电器的iPhone;TikTok否认用户数据源代码泄露|极客头条

「极客头条」—— 技术人员的新闻圈&#xff01; CSDN 的读者朋友们早上好哇&#xff0c;「极客头条」来啦&#xff0c;快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 一分钟速览新闻点&…

苹果于近日推送了 iOS 14.5 开发者预览版 Beta

导读近日&#xff0c;苹果推送了 iOS 14.5 开发者预览版 Beta 5 。除日常修修补补外&#xff0c;引入了多项重要的新功能&#xff0c;包括&#xff0c;这也是 iOS 14 迄今为止最大的一次更新。此外&#xff0c;iPadOS 14.5 与watchOS 7.4 开发者预览版 Beta 5 也已发布。 iOS 1…

iPhone 14连夜跌至4800元,现在应该直接入手14,还是等15?

自从进入2023年&#xff0c;苹果就玩起了降价的套路&#xff0c;企图拉高iPhone 14系列的销量。最近&#xff0c;iPhone 14的价格普遍来到了5000元出头&#xff0c;而PDD最低价格已经跌到了4800元&#xff0c;相比原价少了1000元。那么&#xff0c;到底是现在入手14更划算&…

苹果测试软件testflight游戏,苹果内测工具TestFlight的使用

通常App开发中会使用测试与生产两套环境,苹果有两套对应的development和distribution证书.使用development开发证书打包的测试版app我们可以发布到蒲公英,fir等第三方托管平台,但若要打包正式版app供测试则必须发布到testFlight.由于不同证书打包的app远程推送通知是区分开的,有…

代码显示苹果 iOS 16.2 将允许 iPhone 更频繁刷新“实时活动”,但也更加耗电

10 月 26 日消息&#xff0c;随着本周 iOS 16.1 正式版的发布&#xff0c;苹果推出了实时活动 —— 更多第三方应用程序可提供有用的信息。有了“实时活动”功能&#xff0c;用户可以随时获知常用 App 的最新信息。无需解锁设备&#xff0c;即可在锁定屏幕上关注出租车的到达时…

iOS16.1RC版发布后 iPhone14 Pro系列机型可以在灵动岛显示球赛比分

灵动岛是苹果在 iPhone 14 Pro 系列机型推出的新功能&#xff0c;不过该功能目前尚未得到软件支持&#xff0c;苹果计划在 11 月前推出 iOS 更新支持这个新功能。 目前苹果已经推出 iOS 16.1 RC 即候选预览版&#xff0c;这次更新后部分已经积极进行适配的第三方软件开始支持灵…

苹果今天发布了 iOS 14.5 的第一个开发者预览版

苹果今天发布了 iOS 14.5 的第一个开发者预览版&#xff0c;其中一个重要的新功能是 iPhone 12 机型在双 SIM 卡模式下对 5G 的全球支持&#xff0c;此前该功能仅在中国大陆地区提供。 海外 iPhone 12 机型同时配备了物理 SIM 卡槽和数字 eSIM 卡&#xff0c;可以实现双卡双待的…

使用了 iOS 14 发布的翻译工具,觉得还差点儿意思

By 超神经 内容概要&#xff1a;Apple 在 WWDC 2020 上发布了一款全新的 APP--Translate&#xff0c;官方表示该 APP 会成为最好用的翻译软件&#xff0c;试用后我们发现&#xff0c;Translate 的进步空间还很大。 关键词&#xff1a;WWDC2020 翻译软件 机器学习 北京时间 6 …

IOS开发之——彩票-邮件分享(14)

一 概述(邮件分享到两种方式) NSURL URLWithString:“mailto:xxx”邮箱控制器MFMailComposeViewController 二 方式一 NSURL URLWithString:“mailto:xxx” 2.1 说明 用自带的邮件客服端发完邮件后不会自动回到应用 2.2 代码 NSURL *url [NSURL URLWithString:"mailt…

iPhone14或仍有刘海,设计、芯片都不变;微信聊天对话框支持放大编辑;Android 13正式版发布|极客头条

「极客头条」—— 技术人员的新闻圈&#xff01; CSDN 的读者朋友们早上好哇&#xff0c;「极客头条」来啦&#xff0c;快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 一分钟速览新闻点&…

iOS微信发布8.0.29版本,苹果14用户快来

这两天iOS微信发布了8.0.29版本&#xff0c;主要是针对iOS16系统&#xff0c;修复了一些Bug&#xff0c;对iPhone14用户非常靠谱。 新版苹果 14上线后&#xff0c;微信对它的兼容性还是有一些问题的&#xff0c;比如有网友反馈&#xff0c;在使用微信通话时&#xff0c;会莫名其…

苹果新隐私政策在iOS14.4测试版上线:能允许或拒绝“跟踪”

Python实战社群 Java实战社群 长按识别下方二维码&#xff0c;按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 作者丨艺艺子 来源丨TechWeb&#xff08;ID&#xff1a;TechWeb&#xff09; 12月25日消息&#xff0c;据国外媒体报道&#xff0c;苹果…

算法题解—并查集—好朋友

好朋友&#xff08;算法题解&#xff09; Description 有一个叫做“数码世界”奇异空间&#xff0c;在数码世界里生活着许许多多的数码宝贝&#xff0c;其中有些数码宝贝之间可能是好朋友&#xff0c;并且数码宝贝世界有两条不成文的规定&#xff1a; 第一&#xff0c;数码宝贝…

关于搜索的题解

一、八皇后 Checker Challenge 假设有一张n*n表格&#xff0c;上面全是0代表空&#xff0c;然后我们一行一行的遍历&#xff0c;每一行放一个并做好标记 在标记的时候&#xff0c;实际上我们只需要标记三个方向&#xff0c;&#xff0c;左下&#xff0c;正下&#xff0c;右下&…

搜索练习题【题解】

VIJOS-P1026 毒药解药 DescriptionSample InputSample OutputHINTSourceSolution POJ3321Apple Tree DescriptionInputOutput Sample InputSample Output SourceSolution POJ3764The xor-longest Path DescriptionInputOutput Sample InputSample Output HintSolution VIJOS-P…

表格数据统计与分析

开发工具与关键技术&#xff1a;VS MVC 作者&#xff1a;李光辉 撰写时间&#xff1a;2019.6.8 今天要介绍的是layui表格数据的统计与分析&#xff0c;如下图所示&#xff0c;根据这边的表格数据通过计算得到右边的数据表格。首先我们需要对表格数据进行查询以及筛选&#x…

问卷与量表数据分析(SPSS+AMOS)学习笔记(三) : 数据分析工具,三线表的制作

课程链接&#xff1a;问卷与量表数据分析&#xff08;SPSSAMOS&#xff09; 目录 1. 数据分析工具的种类 2. SPSS窗口介绍 3. SPSS csv文件导入方式 4. SPSS输出为三线表 4.1 简单描述性统计过程 4.2 三线表软件配置 4.3 永久输出三线表格式 4.4 wordexcel 生成三线表…

问卷调查的数据如何分析?

一、模型框架 设计模型框架 一般在正式分析前&#xff0c;研究者常常需要构建模型框架&#xff0c;基于模型框架进行分析研究&#xff0c;例如数据分析、原理研究等等。那么如何构建基础的模型框架&#xff0c;以下以‘笔记本电脑购买意愿影响因素’来进行举例说明。 ​ 模型框…