iOS UI10_tableView的编辑
来源:互联网 发布:access2007数据库引擎 编辑:程序博客网 时间:2024/05/21 10:28
//// MainViewController.m// UI10_tableView的编辑//// Created by dllo on 15/8/11.// Copyright (c) 2015年 zhozhicheng. All rights reserved.//#import "MainViewController.h"@interface MainViewController ()<UITableViewDataSource,UITableViewDelegate>@property(nonatomic,retain)NSMutableArray *arr;@property(nonatomic,retain)UITableView *tableView;@end@implementation MainViewController-(void)dealloc{ [_arr release]; [_tableView release]; [super dealloc];}-(instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self=[super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { self.arr = [NSMutableArray arrayWithObjects:@"宋江", @"卢俊义", @"吴用", @"公孙胜", @"关胜", @"林冲", @"秦明" ,@"呼延灼" , @"花容",@"柴进", @"李应", @"朱仝",@"鲁智深",@"武松",nil]; }return self;}- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.navigationController.navigationBar.translucent=NO; self.tableView=[[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height-64) style:UIControlStateNormal]; [self.view addSubview:self.tableView]; [self.tableView release]; self.tableView.delegate=self; self.tableView.dataSource=self; //编辑按钮 self.navigationItem.rightBarButtonItem=self.editButtonItem;// //直接打开tableview的可编辑模式// [self.tableView setEditing:YES animated:YES];}#pragma mark 重写系统的编辑按钮点击触发的方法-(void)setEditing:(BOOL)editing animated:(BOOL)animated{ [super setEditing:editing animated:animated]; [self.tableView setEditing:editing animated:YES];}#pragma mark 设置哪些行可以进行编辑-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{// //奇数行可编辑,偶数不可以// if (indexPath.row % 2 == 1) {// return YES;// }else{// return NO;// } return YES;}//删除-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{ return UITableViewCellEditingStyleDelete;}//删除数据-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{ if (editingStyle == UITableViewCellEditingStyleDelete) { //先删除数据源 [self.arr removeObjectAtIndex:indexPath.row];// [self.tableView reloadData]; //通过tableview来删除上面的cell //第一个参数:指定删除的哪一个分区的哪一行,把它作为一个元素放在数组中 //第二个参数:删除动画 [self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationLeft]; }}//修改删除按钮的标题-(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath{ return @"来点我啊";}//置顶和删除 iOS8.0才有的-(NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath{ UITableViewRowAction *deleteAction=[UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"删除" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) { //按钮点击所要触发的事件,都是写在block中 NSLog(@"触发了删除"); }]; deleteAction.backgroundColor=[UIColor cyanColor]; UITableViewRowAction *topAction=[UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"置顶" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) { NSLog(@"zhiding"); NSString *temp=self.arr[indexPath.row]; [self.arr removeObjectAtIndex:indexPath.row]; [self.arr insertObject:temp atIndex:0]; [self.tableView reloadData]; }]; topAction.backgroundColor=[UIColor redColor]; return @[deleteAction,topAction];}//移动-(void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath{ //先获取到起始位置的数据 NSString *str=[self.arr[sourceIndexPath.row] retain]; //2.把起始位置对象从数据源中移除 [self.arr removeObjectAtIndex:sourceIndexPath.row]; //3.把数据插入到数组的目的位置上去 [self.arr insertObject:str atIndex:destinationIndexPath.row]; [str release];}-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return self.arr.count;}-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *reuse=@"reuse"; UITableViewCell *cell =[tableView dequeueReusableCellWithIdentifier:reuse]; if (!cell) { cell =[[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:reuse] autorelease]; } cell.textLabel.text=self.arr[indexPath.row]; return cell;}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}/*#pragma mark - Navigation// In a storyboard-based application, you will often want to do a little preparation before navigation- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { // Get the new view controller using [segue destinationViewController]. // Pass the selected object to the new view controller.}*/@end
0 0
- iOS UI10_tableView的编辑
- UI10_TableView的编辑
- UI10_tableView的编辑
- UI10_tableview的编辑
- UI10_tableview的编辑
- UI10_TableView的编辑
- UI10_tableView的HeaderView
- iOS UITableView的编辑方法
- iOS编辑图片位图的代码
- ios表格cell的编辑和删除
- iOS中UITableView的编辑模式
- IOS中数据库的编辑使用
- ios 照片编辑的view封装
- IOS之监听UITextField的编辑事件
- 第九章:iOS应用的界面编辑
- iOS开发-OC中TabView的编辑
- IOS隐藏编辑框键盘的方法
- IOS之监听UITextField的编辑事件
- Python2.x urllib
- iOS block的用法
- nginx 防火墙、权限问题
- 斐波那契数列、堆
- JSP EL表达式详细介绍
- iOS UI10_tableView的编辑
- ajax传输json到后台
- QT正则表达式
- redhat JDK-1.8安装
- 二项树与二项堆
- SQL 截取某字段第一个特殊字符(#为示例)前的所有字符,若字段里没有特殊字符(#号)则取全部字段
- refresh的停车场 (栈+队列)
- PHP_PHP开发框架-codeigniter
- 使用XIB拖出来的UIButton,selected状态下,button出现多余背景颜色