iOS-自定义cell的方法步骤

#import "ViewController.h"

#import "MyTableViewCell.h"

#import "AddData_ViewController.h"

@interface ViewController ()<UITableViewDataSource,UITableViewDelegate>

{

NSMutableArray *list;

UITableView *myTabelView;

NSString *path;

}

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"编辑" style:UIBarButtonItemStylePlain target:self action:@selector(edit)];

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"添加" style:UIBarButtonItemStylePlain target:self action:@selector(add)];

[self creatTableView];

}

- (void)edit

{

[myTabelView setEditing:!myTabelView.isEditing animated:YES];

}

- (void)add

{

AddData_ViewController *addVc = [[AddData_ViewController alloc]init];

[self.navigationController pushViewController:addVc animated:YES];

}

//编辑tableView的cell

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath

{

//盘点编辑中的样式
是否是删除的样式

if (editingStyle == UITableViewCellEditingStyleDelete) {

//1.删除数据

//2.更新视图

[list removeObjectAtIndex:indexPath.row];

//把移除后的数据同步到plist里面

BOOL success = [list writeToFile:path atomically:YES];

//如果数据移除成功就删除cell

if (success) {

[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationMiddle];

}

}

}

//设置是否可以编辑

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath

{

return YES;

}

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath

{

//    如果移动的不是同一个位置

if (sourceIndexPath != destinationIndexPath) {

//        1.先保存需要移动的数据;sourceIndexPath.row需要移动的数据

NSDictionary *info = list[sourceIndexPath.row];

//        2.移除需要移动的数据

[list removeObjectAtIndex:sourceIndexPath.row];

//        3.插入数据 destinationIndexPath
可以得到需要移动的位置

[list insertObject:info atIndex:destinationIndexPath.row];

//        同步数据到plist文件

[list writeToFile:path atomically:YES];

}

}

- (void)loadData

{

path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"Detail_Data_ List.plist"];

list = [[NSArray arrayWithContentsOfFile:path] mutableCopy];

NSLog( @"%@",list);

if (myTabelView) {

//        reloadData必须在主线程
刷新UI

[myTabelView reloadData];

}

};

- (void)viewWillAppear:(BOOL)animated

{

[self loadData];

}

- (void)creatTableView

{

myTabelView = [[UITableView alloc]initWithFrame: self.view.frame style:UITableViewStylePlain];

myTabelView.delegate = self;

myTabelView.dataSource = self;

[self.view addSubview:myTabelView];

}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

return list.count;

}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

NSString *vigetableIndentifire = @"cellID";

MyTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:vigetableIndentifire];

if (!cell) {

cell = [[MyTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:vigetableIndentifire];

}

cell.selectionStyle = UITableViewCellSelectionStyleNone;

cell.showImage.image = [UIImage imageNamed:list[indexPath.row][@"ImageName"]];

cell.nameLable.text = [NSString stringWithFormat:@"名字:%@ ",list[indexPath.row][@"name"]];

cell.priceLable .text = [NSString stringWithFormat:@"价格: %@元/斤",list[indexPath.row][@"price"]];

cell.contentLable.text = [NSString stringWithFormat:@"介绍:%@",list[indexPath.row][@"content"]];

return cell;

}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

{

return 200;

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

@end

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-21 15:30:49

iOS-自定义cell的方法步骤的相关文章

iOS ?自定义cell的步骤

?自定义cell的步骤(每个cell的?高度不?一样,每个cell?里?面显?示的 内容也不?一样) 新建?一个继承?自UITableViewCell的?子类 2. 在initWithStyle:方法中进行?控件的初始化 1> 将有可能显?示的所有?子控件都添加到contentView中 2> 顺便设置?子控件的?一些属性(?一次性的设置:字体.?文字颜?色. 背景 3. 提供2个模型 1> ?一个是数据模型(?文字数据 + 图?片数据) 2> ?一个是frame模型(数据模型 +

自定义cell分方法

#import <UIKit/UIKit.h> @interface Label_TableViewCell : UITableViewCell//分别声明 你要创建的UILabel 和  UIIMageView/**  *  图片  */@property (nonatomic,retain)UIImageView *HeadImageView;/**  *  标题  */@property (nonatomic,retain) UILabel  *titleLabel;/**  *  价格

自定义Cell的方法

Cell属于UITableView中的组件,有多种定义方式,有系统自带的方法,有自定义的方法. 可以使用系统的方法setSeparatorColor(设置分割线颜色) 设置setSeparatorStyle(设置分割线类型) 也可以自己自定义一个Cell 在Cell的下面添加一个极细的UIView,控制它的颜色,就实现了自己的分割线 将cell左右空出一些距离,造成一些间距 做法: 在自定义的cell文件中,重写setFrame方法 - (void)setFrame:(CGRect)frame

iOS集成百度地图方法步骤

前言:app中的导航功能越来越流行,现在我自己做的项目中也有此需求,做过了后记录下笔记.  由于源代码保密所以这里仅仅提供demo,下面是效果图 一:iOS地图SDK 1.打开 百度地图api链接 iOS地图SDK 2.注册成为开发者并按照步骤走 3.遇到的问题解决 4.遇到这种错误 2016-03-22 17:11:09.745 baiduMap[6664:276199] 地图所需资源文件不完整,请根据开发指南正确添加mapapi.bundle文件 成功: 4.注意BMKMapView 的类型

iOS 自定义cell的高度

在iOS开发过程中,最重要的几个UIView分别为UITableView.UIScrollView.UICollection.今天由小白哥带大家认识一下UItableVIew 首先,建立一个Model类: #import <Foundation/Foundation.h> @interface News : NSObject @property (nonatomic,retain) NSString *title; @property (nonatomic,retain) NSString *

2015 IOS 自定义cell成绩单——在蓝懿教育 学习笔记

1.sb中添加一个tv,箭头,Cell,创建tvc并关联 2.建立Student对象,在.h中建立字符串name,语数英: 3.在tvc创建数组,学生的对象, 初始化, 获取字符串和内容(txt 的文件) 分割字符串 遍历拿到每一行,拿到每一行再分割 每一行都要创建一个student, 每个学生的姓名 语数英分数 把创建好的学生对象添加到数组 4.行数,内容, 取出每行学生对象, 然后cell,textlabel.text  = .. 此时名称显示出来 5.创建tableviewCell 关联s

iOS 自定义警告提示(方法+宏)--模仿MJ

1,方法 最好是单独弄到一个类中,定义为类方法. 都知道iOS的debug与release,所以我一开始就定义了一个这样的宏: #ifdef DEBUG #define ZHHLog(...) NSLog(__VA_ARGS__) #else #define ZHHLog(...) #endif #define MAKECHAR(param) @#param 图.h 图.m 使用方法 2,宏 定义宏,没有上面的麻烦,直接弄到一个公共的.h中就OKle. 代码: #ifdef DEBUG #def

懒加载 字典转模型 自定义cell

1 懒加载: 1>  什么是懒加载? 懒加载又称为延时加载,即在系统调用的时候加载,如果系统不调用则不会加载.所谓的懒加载其实就是重写其 get 方法. 2>  特点:在使用懒加载的时候要先判断该方法是否已经存在,如果不存在则再进行实例化. 3>  优点: 不必将创建对象的方法都写在 viewDidLoad 里面,代码可读性更强. 每个控件的getter 方法分别负责各自的实例化处理,独立性强,耦合性低. 4>  使用步骤: 声明一个属性.该属性可以是私有属性也可以是在. h 文件

自定义 cell

 自定义 cell 1>  什么是自定义 cell 自定义 cell 即 tableView,collectionView,scrollView中的 cell 使用的时候不能满足我们使用 cell 的需求,需要自己定义一个 cell. 2>  优点: 自定义 cell 是继承自系统的 cell, 因此它具有系统 cell 的所有的属性和方法 自定义 cell 可以在自定义的类中扩展属性和方法,供外界使用. 3>  使用方法 自定义 cell 的方法有三种 纯代码 1 在自定义 cell