128在单元格中添加自定义的辅助按钮

效果如下:

ViewController.h

1 #import <UIKit/UIKit.h>
2
3 @interface ViewController : UITableViewController
4 @property (strong, nonatomic) NSMutableArray *mArrDataSource;
5
6 @end

ViewController.m

  1 #import "ViewController.h"
  2
  3 @interface ViewController ()
  4 - (void)layoutUI;
  5 - (void)editingSwitchDidPush:(UIBarButtonItem *)sender;
  6 - (void)showAlert:(NSString *)msg;
  7 - (void)accessoryViewDidPush:(UIButton *)sender;
  8 - (void)editingAccessoryViewDidPush:(UIButton *)sender;
  9 @end
 10
 11 @implementation ViewController
 12
 13 - (void)viewDidLoad {
 14     [super viewDidLoad];
 15
 16     [self layoutUI];
 17 }
 18
 19 - (void)didReceiveMemoryWarning {
 20     [super didReceiveMemoryWarning];
 21     // Dispose of any resources that can be recreated.
 22 }
 23
 24 - (void)layoutUI {
 25     _mArrDataSource = [[NSMutableArray alloc] initWithObjects:@"A", @"B", @"C", @"D", nil];
 26
 27     self.navigationItem.title = @"在单元格中添加自定义的辅助按钮";
 28     UIBarButtonItem *barBtnEditingSwitch = [[UIBarButtonItem alloc] initWithTitle:@"编辑"
 29                                                                             style:UIBarButtonItemStylePlain
 30                                                                            target:self
 31                                                                            action:@selector(editingSwitchDidPush:)];
 32     self.navigationItem.rightBarButtonItem = barBtnEditingSwitch;
 33 }
 34
 35 - (void)editingSwitchDidPush:(UIBarButtonItem *)sender {
 36     if ([sender.title isEqualToString:@"编辑"]) {
 37         sender.title = @"完成";
 38         self.tableView.editing = YES;
 39     } else {
 40         sender.title = @"编辑";
 41         self.tableView.editing = NO;
 42     }
 43 }
 44
 45 - (void)showAlert:(NSString *)msg {
 46     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示信息"
 47                                                     message:msg
 48                                                    delegate:self
 49                                           cancelButtonTitle:nil
 50                                           otherButtonTitles:@"确定", nil];
 51     [alert show];
 52 }
 53
 54 - (void)accessoryViewDidPush:(UIButton *)sender {
 55     NSString *strMessage = [NSString stringWithFormat:@"普通状态下,您选择的是第%ld行的自定义辅助按钮", (sender.tag + 1)];
 56     [self showAlert:strMessage];
 57 }
 58
 59 - (void)editingAccessoryViewDidPush:(UIButton *)sender {
 60     NSString *strMessage = [NSString stringWithFormat:@"编辑状态下,您选择的是第%ld行的自定义辅助按钮", (sender.tag + 1)];
 61     [self showAlert:strMessage];
 62 }
 63
 64 #pragma mark - TableView
 65 - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
 66     return @"列表";
 67 }
 68
 69 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
 70     return 1;
 71 }
 72
 73 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
 74     return _mArrDataSource.count;
 75 }
 76
 77 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
 78     static NSString *cellIdentifier = @"cellIdentifier";
 79     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
 80     if (!cell) {
 81         cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
 82     }
 83
 84     cell.textLabel.text = _mArrDataSource[indexPath.row];
 85     //设置普通状态下,显示的自定义的辅助按钮;
 86     UIButton *btnAccessoryView = [UIButton buttonWithType:UIButtonTypeInfoDark];
 87     btnAccessoryView.tag = indexPath.row;
 88     [btnAccessoryView addTarget:self
 89                          action:@selector(accessoryViewDidPush:)
 90                forControlEvents:UIControlEventTouchUpInside];
 91     cell.accessoryView = btnAccessoryView;
 92
 93     //设置编辑状态下,显示的自定义的辅助按钮;同理:cell.accessoryType对应cell.editingAccessoryType
 94     UIButton *btnEditingAccessoryView = [UIButton buttonWithType:UIButtonTypeCustom];
 95     btnEditingAccessoryView.frame = CGRectMake(0, 0, 24, 19);
 96     [btnEditingAccessoryView setBackgroundImage:[UIImage imageNamed:@"Check"] forState:UIControlStateNormal];
 97     btnEditingAccessoryView.tag = indexPath.row;
 98     [btnEditingAccessoryView addTarget:self
 99                                 action:@selector(editingAccessoryViewDidPush:)
100                       forControlEvents:UIControlEventTouchUpInside];
101     cell.editingAccessoryView = btnEditingAccessoryView;
102     return cell;
103 }
104
105 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
106
107 }
108
109 @end

AppDelegate.h

1 #import <UIKit/UIKit.h>
2
3 @interface AppDelegate : UIResponder <UIApplicationDelegate>
4 @property (strong, nonatomic) UIWindow *window;
5 @property (strong, nonatomic) UINavigationController *navigationController;
6
7 @end

AppDelegate.m

 1 #import "AppDelegate.h"
 2 #import "ViewController.h"
 3
 4 @interface AppDelegate ()
 5 @end
 6
 7 @implementation AppDelegate
 8
 9 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
10     _window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
11     ViewController *viewController = [[ViewController alloc] init];
12     _navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
13     _window.rootViewController = _navigationController;
14     //[_window addSubview:_navigationController.view]; //当_window.rootViewController关联时,这一句可有可无
15     [_window makeKeyAndVisible];
16     return YES;
17 }
18
19 - (void)applicationWillResignActive:(UIApplication *)application {
20 }
21
22 - (void)applicationDidEnterBackground:(UIApplication *)application {
23 }
24
25 - (void)applicationWillEnterForeground:(UIApplication *)application {
26 }
27
28 - (void)applicationDidBecomeActive:(UIApplication *)application {
29 }
30
31 - (void)applicationWillTerminate:(UIApplication *)application {
32 }
33
34 @end
时间: 2024-10-12 22:42:10

128在单元格中添加自定义的辅助按钮的相关文章

127使用 TableView 自带的单元格样式实现好友列表,另外在单元格中添加辅助按钮

类似的做法如之前这篇随笔:114自定义 UITableViewCell 实现好友列表(扩展知识:如何使用xib创建自定义的表格视图单元格 KMTableViewCell) 相比之下:自定义 UITableViewCell 的内容灵活,可根据需求调整展示效果,应用场景更广:一般适用于TableView 自带的单元格样式无法实现的效果. 效果如下: ViewController.h 1 #import <UIKit/UIKit.h> 2 3 @interface ViewController :

Swift - 可编辑表格样例(可直接编辑单元格中内容、移动删除单元格)

(本文代码已升级至Swift3) 本文演示如何制作一个可以编辑单元格内容的表格(UITableView). 1,效果图 (1)默认状态下,表格不可编辑,当点击单元格的时候会弹出提示框显示选中的内容.           (2)点击导航栏右侧编辑按钮,表格进入可以编辑状态 (3)这时我们可以删除表格项. (4)也可以拖动调整单元格的顺序. (5)然后就是本文的重点,在编辑状态下.直接点击单元格,即可在当前页面下直接编辑修改单元格中的内容. 2,单元格编辑功能讲解 (1)通过自定义 UITableV

134在单元格中自动排列指定的数据

效果如下: ViewController.h 1 #import <UIKit/UIKit.h> 2 3 @interface ViewController : UITableViewController 4 @property (strong, nonatomic) NSMutableArray *mArrDataList; 5 @property (strong, nonatomic) NSMutableArray *mArrSortedCollation; 6 7 @end ViewCo

Java 在Excel单元格中应用一种/多种字体样式

在Excel表格中,设置单元格字体样式时,可以对单元格内的所有字符应用同一样式,即获取指定单元,应用样式即可:另外也可以对单元格内的不同字符内容应用不同字体样式,即获取单元格中的字符位置,应用样式:本文将通过Java代码示例介绍具体实现方法. 使用工具:Free Spire.XLS for Java (免费版) 注:可通过官网下载包,解压,并将lib文件夹中的Spire.Xls.jar文件导入Java程序:或通过maven仓库导入.导入效果如下: Java代码示例 import com.spir

table表格单元格中的内容如何强制换行

table表格单元格中的内容如何强制换行:有时候表格单元格中的内容不会换行,那么这个就会严重影响到用户体验,下面就简单介绍一下如何实现单元格中的内容换行.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.51texiao.cn/" />

Swift - 异步加载各网站的favicon图标,并在单元格中显示

下面是一个简单的应用,表格视图的各个单元格自动异步加载各个网站的favicon图标,并显示出来. 主要是复习下如何自定义单元格,单元格中图片的异步加载,以及didSet的用法. 效果图如下: 操作步骤: (1)先创建单元格类 - FaviconTableViewCell.swift 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

Rdlc技巧,rdlc报表中获取文本框或某个表格单元格中的内容

在RDLC报表中,随意摆放的控件,排列看起来很整齐,但是生成WEB后看就不是很友好了,导出PDF可能又是一个样, 解决这个办法就是把这些摆放在一个容器内,比如Table 内 用ReportItems这个属性来取value值.细节如下 =ReportItems!textbox1.Value + ReportItems!textbox12.Value 注意,页头页脚可以取Body里的值,但是Body里不可以取页头与页脚的值 Rdlc技巧,rdlc报表中获取文本框或某个表格单元格中的内容

单元格中的数字改为文本格式

先选中所有要修改的文本数字单元格→选择Excel 菜单中“数据”菜单→“分列”(如下图) 接着出现下面的对话框: 一直选下一步→下一步→列数据格式选“常规”即可.(如下图) 以上方法,同样如果需要把数字格式转化成文本格式数字,操作中最后一步列数据格式选“文本”就可以了. 另外,我们在使用Excel时是否发现单击文本格式的单元格的时候,单元格的左上方都有一个感叹号,(如下图) 它也可以帮助我们将文本格式的数字转换为常规格式的数字啊?怎么应用它呢?接着看吧! 1.鼠标指向那个小框时,后出现一个向下的

获取光标在GridControl单元格中的位置

前段时间遇到一个需求,在gridcontrol单元格中光标位置插入选择的特殊符号,按理说需求很简单,但是在开发过程中却遇到一个问题,无法获取光标在单元格中的位置,查遍了控件的帮助文档也没有找到现成的方法,最后通过BaseEdit折中转换了一下,算是解决了这个问题,现讲解决代码贴出来,给有需要的人提供帮助         private DevExpress.XtraEditors.BaseEdit m_gridViewActiveEditor = null;         private vo