******ios6 和ios7的适配
ILBaseTableViewController.m
- (void)viewDidLoad
{
[super viewDidLoad];
// 244 243 241 // 设置tableView的背景颜色
// ios6 backgroundView > backgroundColor
self.tableView.backgroundView = nil;
self.tableView.backgroundColor = ILColor(, , ); // 设置组间距
self.tableView.sectionHeaderHeight = ;
self.tableView.sectionFooterHeight = ; #warning 适配ios7的组间距
if (ios7) { self.tableView.contentInset = UIEdgeInsetsMake(-, , , );
} }
************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(, , , );
_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 == ; } - (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(, , );
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 += ;
frame.origin.x -= ;
} [super setFrame:frame];
} #warning 设置分割线的frame
- (void)layoutSubviews
{
[super layoutSubviews]; CGFloat dividerX = self.textLabel.frame.origin.x;
CGFloat dividerY = ;
CGFloat dividerH = ;
CGFloat dividerW = ; 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 = @[@"", @""];
// 设置代理
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 = @"";
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
IOS彩票第三天界面的更多相关文章
-
IOS彩票第二天设置界面(1)
****跳转到设置界面 - (IBAction)setting:(id)sender { // 创建设置口控制器 ILSettingTableViewController *settingVc = [ ...
-
IOS彩票第二天设置界面(2)
*********代码的抽取ILBaseTableViewController.h #import <UIKit/UIKit.h> @interface ILBaseTableViewCo ...
-
IOS炫酷的引导界面
代码地址如下:http://www.demodashi.com/demo/11246.html 一.准备工作 1.先用时ps工具制作好图片 2.然后计算好每张图片通过滑动视图的偏移量来改变图片的位置 ...
-
iOS开发UI篇—iOS开发中三种简单的动画设置
iOS开发UI篇—iOS开发中三种简单的动画设置 [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView b ...
-
iOS push过去的时候界面不能完全退出
iOS push过去的时候界面不能完全退出 解决方法:设置self.view.backgroundcolor 1. initWithFrame方法是什么? initWithFrame方法用来初始化并 ...
-
Android 仿PhotoShop调色板应用(三) 主体界面绘制
版权声明:本文为博主原创文章,未经博主允许不得转载. Android 仿PhotoShop调色板应用(三) 主体界面绘制 关于PhotoShop调色板应用的实现我总结了两个最核心的部分: 1 ...
-
XMPPFrameWork IOS 开发(三)登录
原始地址:XMPPFrameWork IOS 开发(三) XMPP中常用对象们: XMPPStream:xmpp基础服务类 XMPPRoster:好友列表类 XMPPRosterCoreDataSto ...
-
C#开发PACS医学影像处理系统(三):界面布局之工具栏
工具栏布局采用WPF中Grid作为容器,按钮采用自定义样式和图标,并采用Separator分割线: XAML设计器代码: 其中 Style="{StaticResource ButtonS ...
-
iOS彩票项目--第三天,搭建竞技场和发现,搭建幸运选号和我的彩票界面
一.竞技场搭建--UISegmentedControl的使用 // 重写 自定义控制器的view - (void)loadView { UIImageView *imgView = [[UIImage ...
随机推荐
-
转载:《TypeScript 中文入门教程》 7、模块
版权 文章转载自:https://github.com/zhongsp 建议您直接跳转到上面的网址查看最新版本. 关于术语的一点说明: 请务必注意一点,TypeScript 1.5里术语名已经发生了变 ...
-
Yii2.0 rules验证规则大全
required : 必须值验证属性 [['字段名'],required,'requiredValue'=>'必填值','message'=>'提示信息']; #说明:CRequiredV ...
-
Spring Boot交流平台
可以关注微信公众号springboot或者可以加入 Spring Boot QQ交流群1:193341332 (群已满) Spring Boot QQ交流群2:193341364 微信公众号搜索spr ...
-
HTTP 错误 500.19- Internal Server Error 错误解决方法 分类: Windows服务器配置 2015-01-08 20:16 131人阅读 评论(0) 收藏
1.第一种情况如下: 解决方法如下: 经过检查发现是由于先安装Framework组件,后安装iis的缘故,只需重新注册下Framework就可以了,具体步骤如下 1 打开运行,输入cmd进入到命令提示 ...
-
Asp数据转Json
需要引用的文件: json.asp(可在JSON官网下载,也可在底部链接的demo中直接拷贝该文件) Conn.asp是链接数据库文件 <%@LANGUAGE="%> <% ...
-
四种常用IO模型
1) 同步阻塞IO(Blocking IO)2) 同步非阻塞IO(Non-blocking IO)3) IO多路复用(IO Multiplexing)4) 异步IO(Asynchronous IO) ...
-
iOS图片存在本地、再从本地获取图片
图片存在本地.再从本地获取图片 //将图片保存到本地 + (void)SaveImageToLocal:(UIImage*)image Keys:(NSString*)key { NSUser ...
-
python3 rrdtool 使用
源自 python自动化运维:技术与最佳实践 并做略微修改 安装 yum install python-rrdtoolyum install rrdtool-devel #因为采集用了psutil模块 ...
-
【python3】集合set (转)
https://www.cnblogs.com/onepeace/p/4791578.html set原理 Python 还 包 含 了 一 个 数 据 类 型—— set ( 集 合 ) . 集 合 ...
-
laravel 集合接口
只记下几个常用的,其他的看这里:http://laravelacademy.org/post/6293.html 1)什么是集合? 就是laravel查询构建器查询返回的数据结果(get first ...