疯狂食材总结

来源:互联网 发布:开淘宝店卖虚拟物品 编辑:程序博客网 时间:2024/04/28 21:08

首先用到了UITabBarController

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"]];



0 0
原创粉丝点击