疯狂食材总结
2015-10-19 11:56
260 查看
首先用到了UITabBarController
1.因为UITabBarController自带的tabBar无法满足疯狂食材的效果,所以我用一个uiview来装五个按钮来实现疯狂食材所需要的效果。
2.在五个主界面上有四个界面是一样的,而且它们的排版很简单,每行左右一个按钮,我用UIScrollView来排版,根据请求的数据个数来判断UIScrollView的的高;
3.在数据处理方面我根据所得数据在json在线解析中处理,可以让我简单创建一个model来处理数据,后面的排版大多数都是,用请求来的数据然后在json在线解析中处理,然后创建一个所需要的model来,根据model排版,
![](https://img-blog.csdn.net/20151019115744568?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20151019115833071?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
4.在类别这个类中,中点进去第三个页面,它的排版较复杂,所以需要用到switch来排版,根据不同行数来选用自定义的UITableViewCell。
5.微信分享可以去微信开发者平台上下载SDK,在平台上有教我怎么去用,大概步骤就是,先下载SDK,导入到工程中,根据注册得到ios开发账号,在程序中注册微信账号,
AppDelegate.m文件中注册,导入#import "WXApi.h"和协议<WXApiDelegate>
[WXApi registerApp:自己的AppKey];
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [WXApi handleOpenURL:url delegate:self];
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [WXApi handleOpenURL:url delegate:self];
}
在需要分享页面导入#import "WXApi.h"设置按钮,根据按钮改变req.scene = WXSceneSession;//WXSceneTimeline WXSceneFavorite
即可完成所需要的分享类型
{
WXMediaMessage *message = [WXMediaMessage message];
message.messageExt = @"测试的内容...";
[message setThumbImage:[UIImage imageNamed:@"1"]];
WXImageObject *imageObject = [[WXImageObject alloc] init];
imageObject.imageData = UIImagePNGRepresentation([UIImage imageNamed:@"1"]);
message.mediaObject = imageObject;
SendMessageToWXReq *req = [[SendMessageToWXReq alloc] init];
req.bText = NO;
req.message = message;
req.scene = WXSceneSession;//WXSceneTimeline WXSceneFavorite
[WXApi sendReq:req];
}
6.在UITableViewController页面上我添加的uiview无法满足我所需要的情况 ,它会根据UItableview滑动而滑动,所以我只能添加在window上 方法如下{
UIWindow *window=[[UIApplication sharedApplication].windows objectAtIndex:0];
[window addSubview:fenXiang];
}
在我程序中我用到的第三方有
platform :ios, '7.0'
pod "AFNetworking", "~> 2.0"
pod 'SDWebImage', '~>3.7'
pod 'FXBlurView','~>1.6.3'
pod 'FMDB'
AFNetworking 是数据请求,还是异步请求
+ (BOOL)canNetWorkWithBlock:(CallBakc)callback {
BOOL hasNetWork = YES;
AFNetworkReachabilityManager *reachability = [AFNetworkReachabilityManager sharedManager];
[reachability startMonitoring];
if([reachability networkReachabilityStatus] == AFNetworkReachabilityStatusNotReachable) {
NSDictionary *info = [NSDictionary dictionaryWithObject:@"NotNet" forKey:@"error"];
callback(info,NotNetTYpe);
hasNetWork = NO;
}
return hasNetWork;
}
//MARK:请求处理
+ (void)netWorkWithPath:(NSString *)path params:(NSDictionary *)params connectHandel:(CallBakc)
callback {
//没有网络
if (![self canNetWorkWithBlock:callback]) {
return;
}
//有网络的处理
NSString *urlString = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
[manager GET:urlString parameters:params success:^(AFHTTPRequestOperation * operation, id data) {
//success
callback(data,SuccessType);
} failure:^(AFHTTPRequestOperation * operation, NSError * data) {
//faile
NSDictionary *dict = [NSDictionary dictionaryWithObject:data forKey:@"error"];
callback(dict,FailedType);
}];
}
7.SDWebImage图片处理
[cell.foodImage sd_setImageWithURL:[NSURL URLWithString:model.picture] placeholderImage:[UIImage imageNamed:@"moon"]];
1.因为UITabBarController自带的tabBar无法满足疯狂食材的效果,所以我用一个uiview来装五个按钮来实现疯狂食材所需要的效果。
2.在五个主界面上有四个界面是一样的,而且它们的排版很简单,每行左右一个按钮,我用UIScrollView来排版,根据请求的数据个数来判断UIScrollView的的高;
3.在数据处理方面我根据所得数据在json在线解析中处理,可以让我简单创建一个model来处理数据,后面的排版大多数都是,用请求来的数据然后在json在线解析中处理,然后创建一个所需要的model来,根据model排版,
4.在类别这个类中,中点进去第三个页面,它的排版较复杂,所以需要用到switch来排版,根据不同行数来选用自定义的UITableViewCell。
5.微信分享可以去微信开发者平台上下载SDK,在平台上有教我怎么去用,大概步骤就是,先下载SDK,导入到工程中,根据注册得到ios开发账号,在程序中注册微信账号,
AppDelegate.m文件中注册,导入#import "WXApi.h"和协议<WXApiDelegate>
[WXApi registerApp:自己的AppKey];
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [WXApi handleOpenURL:url delegate:self];
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [WXApi handleOpenURL:url delegate:self];
}
在需要分享页面导入#import "WXApi.h"设置按钮,根据按钮改变req.scene = WXSceneSession;//WXSceneTimeline WXSceneFavorite
即可完成所需要的分享类型
{
WXMediaMessage *message = [WXMediaMessage message];
message.messageExt = @"测试的内容...";
[message setThumbImage:[UIImage imageNamed:@"1"]];
WXImageObject *imageObject = [[WXImageObject alloc] init];
imageObject.imageData = UIImagePNGRepresentation([UIImage imageNamed:@"1"]);
message.mediaObject = imageObject;
SendMessageToWXReq *req = [[SendMessageToWXReq alloc] init];
req.bText = NO;
req.message = message;
req.scene = WXSceneSession;//WXSceneTimeline WXSceneFavorite
[WXApi sendReq:req];
}
6.在UITableViewController页面上我添加的uiview无法满足我所需要的情况 ,它会根据UItableview滑动而滑动,所以我只能添加在window上 方法如下{
UIWindow *window=[[UIApplication sharedApplication].windows objectAtIndex:0];
[window addSubview:fenXiang];
}
在我程序中我用到的第三方有
platform :ios, '7.0'
pod "AFNetworking", "~> 2.0"
pod 'SDWebImage', '~>3.7'
pod 'FXBlurView','~>1.6.3'
pod 'FMDB'
AFNetworking 是数据请求,还是异步请求
+ (BOOL)canNetWorkWithBlock:(CallBakc)callback {
BOOL hasNetWork = YES;
AFNetworkReachabilityManager *reachability = [AFNetworkReachabilityManager sharedManager];
[reachability startMonitoring];
if([reachability networkReachabilityStatus] == AFNetworkReachabilityStatusNotReachable) {
NSDictionary *info = [NSDictionary dictionaryWithObject:@"NotNet" forKey:@"error"];
callback(info,NotNetTYpe);
hasNetWork = NO;
}
return hasNetWork;
}
//MARK:请求处理
+ (void)netWorkWithPath:(NSString *)path params:(NSDictionary *)params connectHandel:(CallBakc)
callback {
//没有网络
if (![self canNetWorkWithBlock:callback]) {
return;
}
//有网络的处理
NSString *urlString = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
[manager GET:urlString parameters:params success:^(AFHTTPRequestOperation * operation, id data) {
//success
callback(data,SuccessType);
} failure:^(AFHTTPRequestOperation * operation, NSError * data) {
//faile
NSDictionary *dict = [NSDictionary dictionaryWithObject:data forKey:@"error"];
callback(dict,FailedType);
}];
}
7.SDWebImage图片处理
[cell.foodImage sd_setImageWithURL:[NSURL URLWithString:model.picture] placeholderImage:[UIImage imageNamed:@"moon"]];
相关文章推荐
- Hyper-V安装RHEL或CENTOS后/dev/cdrom消失光驱无法使用的解决办法
- 《从零开始学Swift》学习笔记(Day 24)——枚举
- jsp实现从服务器下载xls文件到客户端的方法
- MSSQL2012 附加数据库5120错误(拒绝访问)处理方法
- java 游戏高级编程中 的对象串行化 存取
- asp.net的页面加载顺序
- java.lang.ClassNotFoundException: javax.el.ELResolver错误解决办法
- 排版----内联文本元素(<mark>突出显示个别文字)
- jquery 模糊查询下拉框
- iOS SDK详解之地理位置(一)基本使用
- android中用ExpandableListView实现三级扩展列表(附源码)
- eclipse经常未响应优化
- dukuwiki简单教程
- 让zepto支持requirejs的方法
- maven导出项目依赖的jar包
- Eclipse中快捷键的使用
- eclipse 优化 经常未响应解决办法
- 自定义圆角的ImageView 还可以实现图片的圆形、椭圆形展示。
- 使用Maven导出工程依赖的jar包
- R cannot be resolved to a variable