• iOS-英雄联盟人物展示


    素材:图片库和一个英雄资料的plist

    文件:一个英雄数据封装的模块

    //
    //  Hero.h
    //  多组表格
    //
    //  Created by YaguangZhu on 15/8/13.
    //  Copyright (c) 2015年 YaguangZhu. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    @interface Hero : NSObject
    
    @property (nonatomic,copy)NSString *name;
    @property (nonatomic,copy)NSString *icon;
    @property (nonatomic,copy)NSString *intro;
    
    - (instancetype)initWithDict:(NSDictionary *)dict;
    + (instancetype)heroWithDict:(NSDictionary *)dict;
    + (NSArray *)heros;
    
    @end
    //
    //  Hero.m
    //  多组表格
    //
    //  Created by YaguangZhu on 15/8/13.
    //  Copyright (c) 2015年 YaguangZhu. All rights reserved.
    //
    
    #import "Hero.h"
    
    @implementation Hero
    - (instancetype)initWithDict:(NSDictionary *)dict
    {
        self = [super init];
        if (self) {
            [self setValuesForKeysWithDictionary:dict];
        }
        return self;
    }
    
    + (instancetype)heroWithDict:(NSDictionary *)dict
    {
        return [[self alloc] initWithDict:dict];
    }
    
    + (NSArray *)heros
    {
        NSArray *array = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"heros.plist" ofType:nil]];
        NSMutableArray *arrayM = [NSMutableArray array];
        for (NSDictionary *dict in array) {
            [arrayM addObject:[self heroWithDict:dict]];
        }
        
        return arrayM;
    }
    @end

    主文件:

    //
    //  ViewController.m
    //  多组表格
    //
    //  Created by YaguangZhu on 15/8/13.
    //  Copyright (c) 2015年 YaguangZhu. All rights reserved.
    //
    
    #import "ViewController.h"
    #import "Hero.h"
    
    @interface ViewController ()<UITableViewDataSource,UITableViewDelegate>
    @property(nonatomic,strong)UITableView *tableView;
    @property (nonatomic,strong)NSArray *heros;
    @end
    
    @implementation ViewController
    
    - (NSArray *)heros
    {
        if (_heros == nil) {
            _heros = [Hero heros];
        }
            return _heros;
    }
    -(UITableView *)tableView
    {
        if (_tableView ==nil) {
            _tableView = [[UITableView alloc]initWithFrame:self.view.bounds style:UITableViewStylePlain];
            _tableView.dataSource=self;
            [self.view addSubview:_tableView];
        }
        return _tableView;
    }
    - (void)viewDidLoad {
        [super viewDidLoad];
        [self tableView];
        self.tableView.rowHeight = 80;
        
        self.tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
        UIView *head = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
        head.backgroundColor = [UIColor redColor];
         self.tableView.tableHeaderView = head;
        
        UIView *foot = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
        foot.backgroundColor = [UIColor redColor];
    
       //foot 做刷新  head 做广告
        self.tableView.tableFooterView =foot;
        // Do any additional setup after loading the view, typically from a nib.
    }
    
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
        return self.heros.count;
    }
    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        
        
        
        //为了加入缓存池,换个代码 下面这句重写
        //UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:nil];
    //static 静态变量 能够保证系统为变量在内存中只分配一次内存空间,但不能创建太多,因为不会被释放,只有程序销毁时,才会释放
        static NSString *ID = @"cell";
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
        if (cell == nil) {
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:ID];
            
             //cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
            cell.accessoryType =UITableViewCellAccessoryDetailButton;
            // 设置背景图和选中 的图
           /* cell.backgroundColor = [UIColor redColor];
            UIImage *bgimg = [UIImage imageNamed:@"img_01"];
            
            cell.backgroundView = [[UIImageView alloc] initWithImage:bgimg];
            UIImage *selectBGimg = [UIImage imageNamed:@"img_02"];
            cell.selectedBackgroundView = [[UIImageView alloc]initWithImage:selectBGimg];*/
    
        }
        
        Hero *hero = self.heros[indexPath.row];
        cell.textLabel.text = hero.name;
        cell.imageView.image =[UIImage imageNamed:hero.icon];
        cell.detailTextLabel.text = hero.intro;
        
       
        
        
        
        /* 
             开关
         UISwitch * swicher = [[UISwitch alloc]init];
        
        [swicher addTarget:self action:@selector(swtichChanged :) forControlEvents:UIControlEventValueChanged];
        cell.accessoryView = swicher;*/
        return cell;
    }
    //开关
    - (void)swtichChanged:(UISwitch *)sender
    {
        NSLog(@"%s  %@",__func__,sender);
    }
    // 详细
    -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
     //按钮
    }-(void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath
    {
        
    }
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    @end
  • 相关阅读:
    mysql 使用SUM()函数查询时,如果没有任何记录的时候 返回的结果为null
    不重复的有序集合,TreeSet的用法
    spring+springMVC+mybatis项目中 多数据源的配置
    程序的位置和功能划分
    团队合作-如何避免JS冲突
    CSS的常见问题
    函数传参的应用--修改文本的值
    应用自定义属性、索引值实现带略缩图的图片轮播
    PC和手机的区别就是各种各样的屏幕,响应式布局来适应屏幕
    CSS3动画@keyframes
  • 原文地址:https://www.cnblogs.com/zhuyaguang/p/4733993.html
Copyright © 2020-2023  润新知