码迷,mamicode.com
首页 > 移动开发 > 详细

ios-利用xib重新写 应用管理

时间:2015-08-01 15:34:46      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

技术分享技术分享

//
//  app.h
//  应用管理
//
//  Created by YaguangZhu on 15/7/31.
//  Copyright (c) 2015年 YaguangZhu. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface app : NSObject

@property (nonatomic,copy) NSString *miaoshu;
@property (nonatomic,copy) NSString *icon;

- (app *)initWithDict:(NSDictionary *)dict;
+ (app *)appwithDict:(NSDictionary *)dict;

@end
//
//  app.m
//  应用管理
//
//  Created by YaguangZhu on 15/7/31.
//  Copyright (c) 2015年 YaguangZhu. All rights reserved.
//

#import "app.h"

@implementation app

-(app *)initWithDict:(NSDictionary *)dict
{
    if (self = [super init]) {
        self.miaoshu = dict[@"miaoshu"];
        self.icon = dict[@"icon"];
    }
    return self;
}
+ (app *)appwithDict:(NSDictionary *)dict
{
    return [[self alloc] initWithDict:dict];
}
@end

 

//
//  CZAppView.h
//  应用管理
//
//  Created by YaguangZhu on 15/8/1.
//  Copyright (c) 2015年 YaguangZhu. All rights reserved.
//

#import <UIKit/UIKit.h>
@class app;
@interface CZAppView : UIView
@property (nonatomic,strong) app *model;
@end
//
//  CZAppView.m
//  应用管理
//
//  Created by YaguangZhu on 15/8/1.
//  Copyright (c) 2015年 YaguangZhu. All rights reserved.
//

#import "CZAppView.h"
#import "app.h"
@interface CZAppView ()

@property (weak, nonatomic) IBOutlet UIImageView *imgViewIcon;
@property (weak, nonatomic) IBOutlet UILabel *lblName;
@property (weak, nonatomic) IBOutlet UIButton *btnDownload;

@end
@implementation CZAppView

/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
    // Drawing code
}
*/
- (void)setModel:(app *)model
{
    _model = model;
    
    self.imgViewIcon.image = [UIImage imageNamed:model.icon];
    self.lblName.text = model.miaoshu;
}
@end
//
//  ViewController.m
//  应用管理
//
//  Created by YaguangZhu on 15/7/31.
//  Copyright (c) 2015年 YaguangZhu. All rights reserved.
//

#import "ViewController.h"
#import "app.h"
#import "CZAppView.h"

@interface ViewController ()

@property (nonatomic,strong) NSArray *apps;


@end

@implementation ViewController
- (NSArray *)apps
{
    if (_apps == nil) {
        NSString *path = [[NSBundle mainBundle] pathForResource:@"app.plist" ofType:nil];
        
        NSArray *array = [NSArray arrayWithContentsOfFile:path];
        
        NSMutableArray *arrayModels = [NSMutableArray array];
        
        for (NSDictionary *dict in array) {
            app *model = [app appwithDict:dict];
            
            
           // model.miaoshu = dict[@"miaoshu"];
           // model.icon = dict[@"icon"];
            
            [arrayModels addObject:model];
        }
        _apps =arrayModels;
        
    }
    
    return  _apps;
   
}


- (void)viewDidLoad {
    [super viewDidLoad];
    int colums =3;
    CGFloat viewWidth = self.view.frame.size.width;
    
    CGFloat appW = 75;
    CGFloat appH = 90;
    CGFloat marginTop = 30;
    CGFloat maginX = (viewWidth - colums*appW)/ (colums+1);
    CGFloat maginY = maginX;
    
     for (int i=0;i<self.apps.count;i++)//9 = self.apps.count
    {
        
        app *appModel = self.apps[i];
        
        
        NSBundle *rootBoundle = [NSBundle mainBundle];
        CZAppView *appview = [[rootBoundle loadNibNamed:@"CZAppView" owner:nil options:nil ] lastObject];
        
        
        int colIdx = i % colums;
        int rowIdx = i / colums;
        CGFloat appX = maginX+ colIdx *(appW +maginX);
        CGFloat appY = marginTop +rowIdx *(appH +maginY);
        appview.frame = CGRectMake(appX, appY, appW, appH);
    
        [self.view addSubview:appview];
       // 用tag来给控件赋值
//        UIImageView *imgViewIcon =  (UIImageView *)[appview viewWithTag:1000];
//        imgViewIcon.image = [UIImage imageNamed:appModel.icon];
//        
//        UILabel *lblName = (UILabel*)[appview viewWithTag:2000];
//        lblName.text = appModel.miaoshu;
        //用自己创建一个类 然后拖拉控件来赋值
//        appview.imgViewIcon.image = [UIImage imageNamed:appModel.icon];
//        appview.lblName.text = appModel.miaoshu;
        
        //以上不这样写说为了安全 和封装性好
        appview.model = appModel;
    
    }
        
}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

 

ios-利用xib重新写 应用管理

标签:

原文地址:http://www.cnblogs.com/zhuyaguang/p/4694138.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!