本帖最后由 Sian 于 2014-4-1 21:29 编辑
1、效果演示
2、过程说明
2.1 使用storyboard画出基本界面(UITableView和ToolBar),并将UITableView代理设置为当前控制器,并设置为成员变量
2.2 准备好数据源,以备商品展示时调用,如商品图片,商品名,商品描述等;
2.3 图片可直接导入到项目,商品名和商品描述及图片名用plist文件保存,如下图所示:
2.4 创建一个用于展示商品的类,该类的成员变量即为图片名称、商品名称、商品描述,一条商品信息即为一个对象(其他方法也能实现,但这是面向对象的思想);
2.5 UITableView数据加载;
2.5.1 设置数据源(在storybord画UITableView时就已设置当前控制器为dataSource);
2.5.2 数据源必须实现的两个方法(设置总行数、每行内容初始化),关键点在于将行数与每行内容通过数据动态更新而不修改代码。
2.6 设置监听方法,监听UITableViewCell被点击(触摸)事件,并做出响应,这个为代理方法实现;
2.7 监听方法中涉及到弹窗事件,弹窗为另外一个类,该类的代理又设置为当前控制器,所以控制再实现这个代理的相关方法
2.8 实现UIAlertView代理方法,实现通过弹窗修改商品名称
3、关键代码
SAShop.h- //
- // SAShop.h
- // UITabelView-2
- //
- // Created by yusian on 14-4-1.
- // Copyright (c) 2014年 yusian. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- @interface SAShop : NSObject
- // 三个成员变量属性
- @property (nonatomic, copy) NSString *icon;
- @property (nonatomic, copy) NSString *name;
- @property (nonatomic, copy) NSString *desc;
- // 两个构造方法方便快速创建模型
- + (id)shopWithDict:(NSDictionary *)dict;
- - (id)initWithDict:(NSDictionary *)dict;
- @end
复制代码 SAShop.m- //
- // SAShop.m
- // UITabelView-2
- //
- // Created by yusian on 14-4-1.
- // Copyright (c) 2014年 yusian. All rights reserved.
- //
- #import "SAShop.h"
- @implementation SAShop
- // 构造方法实现
- + (id)shopWithDict:(NSDictionary *)dict
- {
- return [[self alloc] initWithDict:dict];
- }
- - (id)initWithDict:(NSDictionary *)dict
- {
- if (self = [super init]) {
- self.name = dict[@"name"];
- self.icon = dict[@"icon"];
- self.desc = dict[@"desc"];
- }
- return self;
- }
- @end
复制代码 SAViewController.h- //
- // SAViewController.h
- // UITabelView-2
- //
- // Created by yusian on 14-4-1.
- // Copyright (c) 2014年 yusian. All rights reserved.
- //
- #import <UIKit/UIKit.h>
- @interface SAViewController : UIViewController
- @property (weak, nonatomic) IBOutlet UITableView *tableView;
- @end
复制代码 SAViewController.m4、源代码下载
游客,本帖隐藏的内容需要积分高于 1 才可浏览,您当前积分为 0
|