tableView對cell的編輯

表的一種添加 cell 方法
#import "ViewController.h"
@interface ViewController ()<UITableViewDataSource,UITableViewDelegate>
{
UITableView *_tableView;
//存放標(biāo)的數(shù)據(jù)
NSMutableArray *_dataArray;
}
@end

@implementation ViewController
-(void)dealloc
{
    [_dataArray release];
    [_tableView release];
    [super dealloc];
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 64, 320, 480-64) style:(UITableViewStylePlain)];
    _tableView.delegate = self;
    _tableView.dataSource =self;
    [self.view addSubview:_tableView];
    //初始化數(shù)組
    _dataArray = [[NSMutableArray alloc] initWithObjects:@"a",@"b",@"c",@"d",@"e", nil];
    //添加導(dǎo)航右邊的按鈕
    UIBarButtonItem *rightBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:(UIBarButtonSystemItemAdd) target:self action:@selector(addData)];
    self.navigationItem.rightBarButtonItem = rightBtn;
    [rightBtn release];
    /*
     表的添加:  非編輯狀態(tài)下的添加
     1.表的添加一般不用reloadData
     2.表有自己的添加方法
     insertRowsAtIndexPaths:
     withRowAnimation:
     3.通過行號和區(qū)號找打?qū)?yīng)的索引
     NSIndexPath indexPathForRow:
     inSection
     */
}
-(void)addData
{
    //1.讓數(shù)組的元素增加
    [_dataArray addObject:@"新數(shù)據(jù)"];
    //2.刷新表
    //[_tableView reloadData];
    
    //獲取區(qū)數(shù)
    int section = 0;
    //獲取行數(shù),行號 = 數(shù)組元素個數(shù) - 1
    int row = _dataArray.count-1;

    //根據(jù)行數(shù)和區(qū)數(shù)找到對應(yīng)的索引
    //indexPathForRow 要增加的行號  inSection 在哪個區(qū)
    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:section];

    //insertRowsAtIndexPaths 表的插入數(shù)據(jù)方法.在指定行插入數(shù)據(jù)  insert:插入
    //參數(shù)1:數(shù)組里面的是 索引indexpath
    [_tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:(UITableViewRowAnimationRight)];
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return _dataArray.count;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellID = @"cellID";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
    if (cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:(UITableViewCellStyleDefault) reuseIdentifier:@"cellID"];
    }
    //設(shè)置cell文本內(nèi)容
    cell.textLabel.text = [_dataArray objectAtIndex:indexPath.row];
    return cell;
}
@end

表對cell的編輯方法工育,包括添加新的cell棵譬、刪除cell,以及對cell的移動

#import "ViewController.h"
@interface ViewController ()<UITableViewDataSource,UITableViewDelegate>
{
    UITableView *_tabelView;
    NSMutableArray *_dataArray;
}
@end

@implementation ViewController
-(void)dealloc
{
    [_tabelView release];
    [_dataArray release];
    [super dealloc];
}
- (void)viewDidLoad
{
    [super viewDidLoad];
    _tabelView = [[UITableView alloc] initWithFrame:CGRectMake(0, 64, 320, 480-64) style:(UITableViewStylePlain)];
    _tabelView.delegate = self;
    _tabelView.dataSource = self;
    [self.view addSubview:_tabelView];
    _dataArray = [[NSMutableArray alloc] initWithObjects:@"a",@"b",@"c",@"d",@"e"@"f",@"g", nil];
    //導(dǎo)航條右邊按鈕
    UIBarButtonItem *rightBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:(UIBarButtonSystemItemEdit) target:self action:@selector(editingData)];
    self.navigationItem.rightBarButtonItem = rightBtn;
    [rightBtn release];
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return _dataArray.count;
}
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellID = @"cellID";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
    if (cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:(UITableViewCellStyleDefault) reuseIdentifier:@"cellID"];
    }
    cell.textLabel.text = [_dataArray objectAtIndex:indexPath.row];
    return cell;
}
#pragma mark 表的編輯
-(void)editingData
{
    //editing 表的編輯
    //改變標(biāo)的編輯狀態(tài)
    _tabelView.editing = !_tabelView.editing;
}
-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
    //UITableViewCellEditingStyle:cell的編輯樣式
    
    //UITableViewCellEditingStyleNone 當(dāng)cell移動的時候使用
    //默認(rèn)是UITableViewCellEditingStyleDelete 刪除樣式
    //UITableViewCellEditingStyleInsert 插入樣式
    return UITableViewCellEditingStyleInsert;
}
#pragma mark -- 提交編輯樣式的時候調(diào)用 表的插入數(shù)據(jù),刪除數(shù)據(jù)都是使用這個方法
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
//插入新數(shù)據(jù)
    //1.在指定行插入數(shù)據(jù) atIndex 在指定的位置insertObject插入數(shù)據(jù)
    [_dataArray insertObject:@"新數(shù)據(jù)" atIndex:indexPath.row];
    //2.刷新表,用表的插入方法
    [tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:(UITableViewRowAnimationFade)];
    
//刪除指定的行
//[_dataArray removeObjectAtIndex:indexPath.row];
////刷新表,用表的刪除方法
//[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:(UITableViewRowAnimationFade)];
}

#pragma mark -- 刪除狀態(tài)下使用  返回刪除按鈕的標(biāo)題 默認(rèn)delete
//當(dāng)cell的編輯樣式為UITableViewCellEditingStyleDelete才有效
-(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return @"刪除";
}

#pragma mark -- 表的移動方法,當(dāng)移動單元格的時候使用
//source資源destination目的地
//sourceIndexPath 要引動的數(shù)據(jù)的索引
//destinationIndexPath要移動后的索引,目的地的索引
-(void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath
{
    //1.取出數(shù)組中的元素(原來的位置)
    NSString *string = [_dataArray objectAtIndex:sourceIndexPath.row];
    //2.從數(shù)組中移除要移動的元素
    [_dataArray removeObject:string];
    //3.把要移動的元素添加到目的地的位置(在目的地插入數(shù)據(jù))
    [_dataArray insertObject:string atIndex:destinationIndexPath.row];
}
@end
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末尸折,一起剝皮案震驚了整個濱河市泞遗,隨后出現(xiàn)的幾起案子旷太,更是在濱河造成了極大的恐慌看幼,老刑警劉巖批旺,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異诵姜,居然都是意外死亡朱沃,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進(jìn)店門茅诱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人搬卒,你說我怎么就攤上這事瑟俭。” “怎么了契邀?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵摆寄,是天一觀的道長。 經(jīng)常有香客問我坯门,道長微饥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任古戴,我火速辦了婚禮欠橘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘现恼。我一直安慰自己肃续,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布叉袍。 她就那樣靜靜地躺著始锚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪喳逛。 梳的紋絲不亂的頭發(fā)上瞧捌,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天,我揣著相機(jī)與錄音润文,去河邊找鬼姐呐。 笑死,一個胖子當(dāng)著我的面吹牛转唉,可吹牛的內(nèi)容都是我干的皮钠。 我是一名探鬼主播,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼赠法,長吁一口氣:“原來是場噩夢啊……” “哼麦轰!你這毒婦竟也來了乔夯?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤款侵,失蹤者是張志新(化名)和其女友劉穎末荐,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體新锈,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡甲脏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了妹笆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片块请。...
    茶點(diǎn)故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖拳缠,靈堂內(nèi)的尸體忽然破棺而出墩新,到底是詐尸還是另有隱情,我是刑警寧澤窟坐,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布海渊,位于F島的核電站,受9級特大地震影響哲鸳,放射性物質(zhì)發(fā)生泄漏臣疑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一徙菠、第九天 我趴在偏房一處隱蔽的房頂上張望讯沈。 院中可真熱鬧,春花似錦婿奔、人聲如沸芙盘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽儒老。三九已至,卻和暖如春记餐,著一層夾襖步出監(jiān)牢的瞬間驮樊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工片酝, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留囚衔,地道東北人。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓雕沿,卻偏偏與公主長得像练湿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子审轮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫肥哎、插件辽俗、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,022評論 4 62
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)篡诽,斷路器崖飘,智...
    卡卡羅2017閱讀 134,599評論 18 139
  • 我特別害怕離別,害怕畢業(yè)杈女,這種感覺真的令人呼吸都困難朱浴,可是,不管你有多么的不舍达椰,那一天總會來臨翰蠢,不管是以哪種方...
    太烊閱讀 183評論 0 0
  • 丈夫和女兒 我該怎么選躏筏?講述者 微瀾(化名) 長春晚報記者 劉冰 與丈夫常年異地分居,她獨(dú)自帶著女兒與父母同住呈枉。眼...
    花香四溢rene閱讀 931評論 0 3
  • 從生下來一直到工作,基本上是一帆風(fēng)順埃碱,沒有什么大悲大喜猖辫,生在亦長在農(nóng)村,總感覺生存空間和周圍的大自然一樣砚殿,清新啃憎,透...
    maia_1718閱讀 272評論 0 0