自定义UITableViewCell 的delete按钮
自定义 按钮 delete
2023-09-11 14:15:06 时间
自定义UITableViewCell上的delete按钮
滑动列表行(UITableViewCell)出现删除按钮时,默认是英文“delete”,这份代码片段能够将“delete”变成中文”删除“,甚至可以自定义删除按钮的形状。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
//通过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( 2 8 0 , 1 0 , 3 0 , 3 0 )]; [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; } } } |
相关文章
- SpringBoot2 集成日志,复杂业务下的自定义实现
- net 自定义泛型那点事
- Flutter 自定义 TextInputFormatter 文本输入过滤器 Flutter 实现输入4位自动添加空格
- C#自定义MessageBox 按钮的Text
- ColorUI-UniApp 导航栏返回上一页按钮设置自定义的页面
- 49EasyUI 窗口- 自定义带有工具条和按钮的对话框
- 37EasyUI 数据网格- 创建自定义视图
- [WPF 自定义控件]让Form在加载后自动获得焦点
- lumen手记:自定义Validate表单验证
- MVC验证07-自定义Model级别验证
- java 自定义切面
- 如何自定义微信小程序swiper轮播图面板指示点的样式
- echarts 显示下载按钮,echarts 自定义按钮,echarts 添加按钮
- Qt编写自定义控件50-迷你仪表盘
- Qt编写自定义控件30-颜色多态按钮
- Qt编写自定义控件11-设备防区按钮控件
- Qt编写自定义控件4-旋转仪表盘
- Qt编写自定义控件二动画按钮
- 导航栏的返回按钮自定义文字
- UITableview自定义accessory按钮和ImageView大小一致
- Dynamic CRM 2013学习笔记(二十一)自定义审批流2 - 配置按钮
- UEditor自定义工具栏-常规按钮
- css自定义变量 variables
- vue使用自定义指令监听元素宽、高变化
- [wordpress]后台自定义菜单字段和使用wordpress color picker
- 若依(ruoyi)管理系统,自定义按钮跳转页面
- flutter自定义弹窗
- Qml之自定义表格
- IOS之UI--自定义按钮实现代理监听点击事件
- 【WPF】自定义形状的按钮Button
- 【C#】往按钮事件中传递自定义参数