ios中UITaleView实现删除移动样式,当手指在每一行上滑动时,会出现删除按钮,并且点击可以实现相应的逻辑。
实现的效果图:
实现的代码:
#pragma mark – View lifecycle
- (void)viewDidLoad
{
[super viewDidLoad];
[mtableView setEditing:NO animated:YES];}
- (void)viewDidUnload
{
[super viewDidUnload];
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"点击了编辑");
}
-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
//
NSLog(@"手指撮动了");
return UITableViewCellEditingStyleDelete;
}
-(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
return @"编辑";
}-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 2;
}- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
/*static NSString *woIndentifier = @"woIndentifier";
WoViewCell *cell = (WoViewCell *)[tableView dequeueReusableCellWithIdentifier:woIndentifier];
if (cell == nil) {
NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"WoViewCell" owner:self options:nil];
cell = [array objectAtIndex:0];
cell.editingAccessoryType=UITableViewCellEditingStyleDelete;
cell.showsReorderControl=YES;
}
return cell;
*/
UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:@"tag"];
if (cell==nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:@"tag"] autorelease];
}
cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator;
cell.showsReorderControl=YES;
return cell;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 60;
}
注:主要的实现代码就是红色的部分,其它部分是一个table里面必须的一些东西了。
感觉苹果的东西,在苹果的限制下,能够做到苹果的效果。但是,个性化的东西就少了。当然一个程序做起来比其它平台快一下(指的是应用程序)
打印的日志:
2011-06-12 17:11:44.641 TAQDemo[24497:207] 手指撮动了
2011-06-12 17:11:44.643 TAQDemo[24497:207] 手指撮动了
2011-06-12 17:11:44.644 TAQDemo[24497:207] 手指撮动了
2011-06-12 17:17:02.941 TAQDemo[24497:207] 点击了编辑
2011-06-12 17:17:09.520 TAQDemo[24497:207] 手指撮动了
2011-06-12 17:17:09.521 TAQDemo[24497:207] 手指撮动了
2011-06-12 17:17:09.522 TAQDemo[24497:207] 手指撮动了
2011-06-12 17:17:11.462 TAQDemo[24497:207] 点击了编辑