• 自定义UITableViewCell上的delete按钮


    滑动列表行(UITableViewCell)出现删除按钮时,默认是英文“delete”,这份代码片段能够将“delete”变成中文”删除“,甚至可以自定义删 除按钮的形状。



    //通过UITableViewDelegate方法可以实现删除 tableview中某一行 //滑动删除 -(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { NSUInteger row = [indexPath row]; [bookInforemoveObjectAtIndex:row];//bookInfo为当前table中显示的array [tableView deleteRowsAtIndexPaths:[NSArrayarrayWithObject:indexPath]withRowAnimation:UITableViewRowAnimationLeft]; } /*此时删除按钮为Delete,如果想显示为“删除” 中文的话,则需要实现 UITableViewDelegate中的- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath方法*/ - (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath{ return @"删除"; } //或者,最简单的方式,将plist中的Localization native development region改为China即可 //这只是让默认的Delete按钮显示成了中文的删除按钮而已,如果想将这个删除按钮换成其他图片形式的,怎么办呢? -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *RootViewControllerCell = @"RootViewControllerCell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:RootViewControllerCell]; if(cell == nil) { cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:RootViewControllerCell]autorelease]; UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; [button setBackgroundImage:[UIImage imageNamed:@"delete.png"] forState:UIControlStateNormal]; [button setFrame:CGRectMake(280, 10, 30, 30)]; [button addTarget:self action:@selector(del:) forControlEvents:UIControlEventTouchUpInside]; [cell.contentView addSubview:button]; } cell.textLabel.text = [array objectAtIndex:[indexPath row]]; cell.tag = [indexPath row]; NSArray *subviews = [cell.contentView subviews]; for(id view in subviews) { if([view isKindOfClass:[UIButton class]]) { [view setTag:[indexPath row]]; [cell.contentView bringSubviewToFront:view]; } } return cell; } -(void)del:(UIButton *)button { NSArray *visiblecells = [self.table visibleCells]; for(UITableViewCell *cell in visiblecells) { if(cell.tag == button.tag) { [array removeObjectAtIndex:[cell tag]]; [table reloadData]; break; } } } //该片段来自于http://outofmemory.cn
  • 相关阅读:
    使用Systrace分析UI性能
    android官方推荐的网络调优器AT&T ARO
    HttpResponseCache 网络缓存使用
    SectionIndexer中的getSectionForPosition()与getPositionForSection()
    MVVM_Android-CleanArchitecture
    Android UI:机智的远程动态更新策略
    Data Binding
    Android实战之你应该使用哪个网络库?
    View以自身中心旋转的代码解惑
    为什么要使用puppet 及初步接触
  • 原文地址:https://www.cnblogs.com/Sucri/p/4971749.html
Copyright © 2020-2023  润新知