UITableViewCell移动

来源:互联网 发布:淘宝情侣店铺推荐 编辑:程序博客网 时间:2024/05/24 06:31



代码:

#import "ViewController.h"@interface ViewController () <UITableViewDataSource, UITableViewDelegate>{    UITableView * _tableView;    NSMutableArray * _dataTVArray;}@end@implementation ViewController- (void)viewDidLoad {    [super viewDidLoad];    // Do any additional setup after loading the view, typically from a nib.    CGFloat width = [[UIScreen mainScreen] bounds].size.width;    CGFloat height = [[UIScreen mainScreen] bounds].size.height;    _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 44, width, height - 44) style:UITableViewStylePlain];    _tableView.delegate = self;    _tableView.dataSource = self;    [self.view addSubview:_tableView];        //不可缺少,一定要设置为可编辑    [_tableView setEditing:YES animated:YES];        _dataTVArray = [NSMutableArray arrayWithArray:@[@"111111", @"222222", @"333333", @"444444", @"555555"]];}- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{    return _dataTVArray.count;}- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{    static NSString * cellID = @"cellID";    UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:cellID];    if (!cell) {        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];    }    cell.textLabel.text = _dataTVArray[indexPath.row];    return cell;}- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{    return UITableViewCellEditingStyleNone;}//此处一定要设置canMove为yes-(BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath{    return YES;}-(void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath{    //移动的具体操作    id exchange = _dataTVArray[sourceIndexPath.row];    [_dataTVArray removeObjectAtIndex:sourceIndexPath.row];    [_dataTVArray insertObject:exchange atIndex:destinationIndexPath.row];            [tableView moveRowAtIndexPath:sourceIndexPath toIndexPath:destinationIndexPath];}- (void)didReceiveMemoryWarning {    [super didReceiveMemoryWarning];    // Dispose of any resources that can be recreated.}@end
效果:

鼠标点击红圈处拖动才可以,否则不能移动

拖动后:



0 0
原创粉丝点击